diff options
Diffstat (limited to 'net/core/neighbour.c')
-rw-r--r-- | net/core/neighbour.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 1beb782ac41b..39fc55edf691 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c | |||
@@ -1217,7 +1217,7 @@ static void neigh_proxy_process(unsigned long arg) | |||
1217 | 1217 | ||
1218 | while (skb != (struct sk_buff *)&tbl->proxy_queue) { | 1218 | while (skb != (struct sk_buff *)&tbl->proxy_queue) { |
1219 | struct sk_buff *back = skb; | 1219 | struct sk_buff *back = skb; |
1220 | long tdif = back->stamp.tv_usec - now; | 1220 | long tdif = NEIGH_CB(back)->sched_next - now; |
1221 | 1221 | ||
1222 | skb = skb->next; | 1222 | skb = skb->next; |
1223 | if (tdif <= 0) { | 1223 | if (tdif <= 0) { |
@@ -1248,8 +1248,9 @@ void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p, | |||
1248 | kfree_skb(skb); | 1248 | kfree_skb(skb); |
1249 | return; | 1249 | return; |
1250 | } | 1250 | } |
1251 | skb->stamp.tv_sec = LOCALLY_ENQUEUED; | 1251 | |
1252 | skb->stamp.tv_usec = sched_next; | 1252 | NEIGH_CB(skb)->sched_next = sched_next; |
1253 | NEIGH_CB(skb)->flags |= LOCALLY_ENQUEUED; | ||
1253 | 1254 | ||
1254 | spin_lock(&tbl->proxy_queue.lock); | 1255 | spin_lock(&tbl->proxy_queue.lock); |
1255 | if (del_timer(&tbl->proxy_timer)) { | 1256 | if (del_timer(&tbl->proxy_timer)) { |
@@ -2342,8 +2343,8 @@ void neigh_app_ns(struct neighbour *n) | |||
2342 | } | 2343 | } |
2343 | nlh = (struct nlmsghdr *)skb->data; | 2344 | nlh = (struct nlmsghdr *)skb->data; |
2344 | nlh->nlmsg_flags = NLM_F_REQUEST; | 2345 | nlh->nlmsg_flags = NLM_F_REQUEST; |
2345 | NETLINK_CB(skb).dst_groups = RTMGRP_NEIGH; | 2346 | NETLINK_CB(skb).dst_group = RTNLGRP_NEIGH; |
2346 | netlink_broadcast(rtnl, skb, 0, RTMGRP_NEIGH, GFP_ATOMIC); | 2347 | netlink_broadcast(rtnl, skb, 0, RTNLGRP_NEIGH, GFP_ATOMIC); |
2347 | } | 2348 | } |
2348 | 2349 | ||
2349 | static void neigh_app_notify(struct neighbour *n) | 2350 | static void neigh_app_notify(struct neighbour *n) |
@@ -2360,8 +2361,8 @@ static void neigh_app_notify(struct neighbour *n) | |||
2360 | return; | 2361 | return; |
2361 | } | 2362 | } |
2362 | nlh = (struct nlmsghdr *)skb->data; | 2363 | nlh = (struct nlmsghdr *)skb->data; |
2363 | NETLINK_CB(skb).dst_groups = RTMGRP_NEIGH; | 2364 | NETLINK_CB(skb).dst_group = RTNLGRP_NEIGH; |
2364 | netlink_broadcast(rtnl, skb, 0, RTMGRP_NEIGH, GFP_ATOMIC); | 2365 | netlink_broadcast(rtnl, skb, 0, RTNLGRP_NEIGH, GFP_ATOMIC); |
2365 | } | 2366 | } |
2366 | 2367 | ||
2367 | #endif /* CONFIG_ARPD */ | 2368 | #endif /* CONFIG_ARPD */ |