From dc7b3caefbd8baccb7fc3787a774e78d1a96636f Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 10 Jan 2018 19:01:57 -0500 Subject: zebra: Add one-shot thread to recheck speed There are certain interfaces that when brought up and we receive the netlink notification about it, the speed of the interface is not set correctly. This creates a one-shot thread that will wait 15 seconds and then requery the speed and if it is different it will renotify the running daemons. The kernel should notify us on speed changes, unfortunately this is not done currently via a netlink message as you would think. As I understand it there is some in-fighting about the proper way to approach this issue and due to the way the kernel release cycle works we are a ways off from getting this fixed. This is a `hack` to make us work correctly while we wait for the true answer. Signed-off-by: Donald Sharp --- zebra/interface.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'zebra/interface.h') diff --git a/zebra/interface.h b/zebra/interface.h index 61c3359f3b..e13721448c 100644 --- a/zebra/interface.h +++ b/zebra/interface.h @@ -273,6 +273,8 @@ struct zebra_if { /* Link fields - for sub-interfaces. */ ifindex_t link_ifindex; struct interface *link; + + struct thread *speed_update; }; DECLARE_HOOK(zebra_if_extra_info, (struct vty *vty, struct interface *ifp), -- cgit v1.2.3