]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/decnet/dn_route.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[karo-tx-linux.git] / net / decnet / dn_route.c
index b5594cc73ee14f6b6107abfcb802a1546701f4a2..85a3604c87c8d2cac6cac4d7049d9ba75877bf66 100644 (file)
@@ -117,7 +117,10 @@ static void dn_dst_destroy(struct dst_entry *);
 static void dn_dst_ifdown(struct dst_entry *, struct net_device *dev, int how);
 static struct dst_entry *dn_dst_negative_advice(struct dst_entry *);
 static void dn_dst_link_failure(struct sk_buff *);
-static void dn_dst_update_pmtu(struct dst_entry *dst, u32 mtu);
+static void dn_dst_update_pmtu(struct dst_entry *dst, struct sock *sk,
+                              struct sk_buff *skb , u32 mtu);
+static void dn_dst_redirect(struct dst_entry *dst, struct sock *sk,
+                           struct sk_buff *skb);
 static struct neighbour *dn_dst_neigh_lookup(const struct dst_entry *dst,
                                             struct sk_buff *skb,
                                             const void *daddr);
@@ -145,6 +148,7 @@ static struct dst_ops dn_dst_ops = {
        .negative_advice =      dn_dst_negative_advice,
        .link_failure =         dn_dst_link_failure,
        .update_pmtu =          dn_dst_update_pmtu,
+       .redirect =             dn_dst_redirect,
        .neigh_lookup =         dn_dst_neigh_lookup,
 };
 
@@ -264,7 +268,8 @@ static int dn_dst_gc(struct dst_ops *ops)
  * We update both the mtu and the advertised mss (i.e. the segment size we
  * advertise to the other end).
  */
-static void dn_dst_update_pmtu(struct dst_entry *dst, u32 mtu)
+static void dn_dst_update_pmtu(struct dst_entry *dst, struct sock *sk,
+                              struct sk_buff *skb, u32 mtu)
 {
        struct dn_route *rt = (struct dn_route *) dst;
        struct neighbour *n = rt->n;
@@ -292,6 +297,11 @@ static void dn_dst_update_pmtu(struct dst_entry *dst, u32 mtu)
        }
 }
 
+static void dn_dst_redirect(struct dst_entry *dst, struct sock *sk,
+                           struct sk_buff *skb)
+{
+}
+
 /*
  * When a route has been marked obsolete. (e.g. routing cache flush)
  */
@@ -1166,7 +1176,7 @@ make_route:
        if (dev_out->flags & IFF_LOOPBACK)
                flags |= RTCF_LOCAL;
 
-       rt = dst_alloc(&dn_dst_ops, dev_out, 1, 0, DST_HOST);
+       rt = dst_alloc(&dn_dst_ops, dev_out, 1, DST_OBSOLETE_NONE, DST_HOST);
        if (rt == NULL)
                goto e_nobufs;
 
@@ -1414,7 +1424,6 @@ static int dn_route_input_slow(struct sk_buff *skb)
                /* Packet was intra-ethernet, so we know its on-link */
                if (cb->rt_flags & DN_RT_F_IE) {
                        gateway = cb->src;
-                       flags |= RTCF_DIRECTSRC;
                        goto make_route;
                }
 
@@ -1427,14 +1436,13 @@ static int dn_route_input_slow(struct sk_buff *skb)
 
                /* Close eyes and pray */
                gateway = cb->src;
-               flags |= RTCF_DIRECTSRC;
                goto make_route;
        default:
                goto e_inval;
        }
 
 make_route:
-       rt = dst_alloc(&dn_dst_ops, out_dev, 0, 0, DST_HOST);
+       rt = dst_alloc(&dn_dst_ops, out_dev, 0, DST_OBSOLETE_NONE, DST_HOST);
        if (rt == NULL)
                goto e_nobufs;