diff options
author | Neale Ranns <nranns@cisco.com> | 2016-11-21 12:25:22 +0000 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2016-11-21 14:18:09 +0000 |
commit | 8b37b8732d5f9883ab594fc0ba2b5be21c27c4fd (patch) | |
tree | 5cf5accc899d67e874fecdb14150e1bacdec211e /vnet/vnet/interface_funcs.h | |
parent | c008ee186b13a1246f265372679f5a80970387b5 (diff) |
Convergence Improvements
addressing convergence times when interface is shut.
1) prioritise the registered callback handlers. Add FIB convergence handler as high priority
2) hook the FIB convergence call-back into HW link down.
3) don't schedule a walk of a FIB node if it has no children
4) Checks at fib_path_t to prevent unnecessary walks, that it prevent the same information propagting the graph multiple times.
Change-Id: I406966b50f31d77c221821b8649776d66655194c
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'vnet/vnet/interface_funcs.h')
-rw-r--r-- | vnet/vnet/interface_funcs.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/vnet/vnet/interface_funcs.h b/vnet/vnet/interface_funcs.h index 076e62eca64..17c677f07b6 100644 --- a/vnet/vnet/interface_funcs.h +++ b/vnet/vnet/interface_funcs.h @@ -92,6 +92,21 @@ vnet_get_device_class (vnet_main_t * vnm, u32 dev_class_index) dev_class_index); } +/** + * Call back walk type for walking SW indices on a HW interface + */ +typedef void (*vnet_hw_sw_interface_walk_t) (vnet_main_t * vnm, + u32 sw_if_index, void *ctx); + +/** + * @brief + * Walk the SW interfaces on a HW interface - this is the super + * interface and any sub-interfaces. + */ +void vnet_hw_interface_walk_sw (vnet_main_t * vnm, + u32 hw_if_index, + vnet_hw_sw_interface_walk_t fn, void *ctx); + /* Register a hardware interface instance. */ u32 vnet_register_interface (vnet_main_t * vnm, u32 dev_class_index, |