[NET]: Core net changes to generate netevents
Generate netevents for: - neighbour changes - routing redirects - pmtu changes Signed-off-by: Tom Tucker <tom@opengridcomputing.com> Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
792d1932e3
commit
8d71740c56
@ -104,6 +104,7 @@
|
||||
#include <net/icmp.h>
|
||||
#include <net/xfrm.h>
|
||||
#include <net/ip_mp_alg.h>
|
||||
#include <net/netevent.h>
|
||||
#ifdef CONFIG_SYSCTL
|
||||
#include <linux/sysctl.h>
|
||||
#endif
|
||||
@ -1125,6 +1126,7 @@ void ip_rt_redirect(u32 old_gw, u32 daddr, u32 new_gw,
|
||||
struct rtable *rth, **rthp;
|
||||
u32 skeys[2] = { saddr, 0 };
|
||||
int ikeys[2] = { dev->ifindex, 0 };
|
||||
struct netevent_redirect netevent;
|
||||
|
||||
if (!in_dev)
|
||||
return;
|
||||
@ -1216,6 +1218,11 @@ void ip_rt_redirect(u32 old_gw, u32 daddr, u32 new_gw,
|
||||
rt_drop(rt);
|
||||
goto do_next;
|
||||
}
|
||||
|
||||
netevent.old = &rth->u.dst;
|
||||
netevent.new = &rt->u.dst;
|
||||
call_netevent_notifiers(NETEVENT_REDIRECT,
|
||||
&netevent);
|
||||
|
||||
rt_del(hash, rth);
|
||||
if (!rt_intern_hash(hash, rt, &rt))
|
||||
@ -1452,6 +1459,7 @@ static void ip_rt_update_pmtu(struct dst_entry *dst, u32 mtu)
|
||||
}
|
||||
dst->metrics[RTAX_MTU-1] = mtu;
|
||||
dst_set_expires(dst, ip_rt_mtu_expires);
|
||||
call_netevent_notifiers(NETEVENT_PMTU_UPDATE, dst);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user