Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 81983
b: refs/heads/master
c: 4814bdb
h: refs/heads/master
i:
  81981: 62b8506
  81979: dc45756
  81975: 9891471
  81967: f54a723
  81951: 1dcfe32
  81919: 86990bb
v: v3
  • Loading branch information
Denis V. Lunev authored and David S. Miller committed Feb 1, 2008
1 parent edfe944 commit 2e6157e
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7462bd744e8882f9ebb9220d46fd4fec8b35b082
refs/heads/master: 4814bdbd590e835ecec2d5e505165ec1c19796b2
2 changes: 1 addition & 1 deletion trunk/include/net/ip_fib.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ extern void fib_select_default(struct net *net, const struct flowi *flp,
/* Exported by fib_semantics.c */
extern int ip_fib_check_default(__be32 gw, struct net_device *dev);
extern int fib_sync_down_dev(struct net_device *dev, int force);
extern int fib_sync_down_addr(__be32 local);
extern int fib_sync_down_addr(struct net *net, __be32 local);
extern int fib_sync_up(struct net_device *dev);
extern __be32 __fib_res_prefsrc(struct fib_result *res);
extern void fib_select_multipath(const struct flowi *flp, struct fib_result *res);
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/ipv4/fib_frontend.c
Original file line number Diff line number Diff line change
Expand Up @@ -808,7 +808,7 @@ static void fib_del_ifaddr(struct in_ifaddr *ifa)
First of all, we scan fib_info list searching
for stray nexthop entries, then ignite fib_flush.
*/
if (fib_sync_down_addr(ifa->ifa_local))
if (fib_sync_down_addr(dev->nd_net, ifa->ifa_local))
fib_flush(dev->nd_net);
}
}
Expand Down
6 changes: 5 additions & 1 deletion trunk/net/ipv4/fib_semantics.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@ static struct fib_info *fib_find_info(const struct fib_info *nfi)
head = &fib_info_hash[hash];

hlist_for_each_entry(fi, node, head, fib_hash) {
if (fi->fib_net != nfi->fib_net)
continue;
if (fi->fib_nhs != nfi->fib_nhs)
continue;
if (nfi->fib_protocol == fi->fib_protocol &&
Expand Down Expand Up @@ -1031,7 +1033,7 @@ int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
referring to it.
- device went down -> we must shutdown all nexthops going via it.
*/
int fib_sync_down_addr(__be32 local)
int fib_sync_down_addr(struct net *net, __be32 local)
{
int ret = 0;
unsigned int hash = fib_laddr_hashfn(local);
Expand All @@ -1043,6 +1045,8 @@ int fib_sync_down_addr(__be32 local)
return 0;

hlist_for_each_entry(fi, node, head, fib_lhash) {
if (fi->fib_net != net)
continue;
if (fi->fib_prefsrc == local) {
fi->fib_flags |= RTNH_F_DEAD;
ret++;
Expand Down

0 comments on commit 2e6157e

Please sign in to comment.