diff options
author | Neale Ranns <nranns@cisco.com> | 2018-04-23 05:31:19 -0700 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-04-25 12:31:38 +0000 |
commit | 580bba72e55961b1d3f98144244ac1780855f74a (patch) | |
tree | 91fc618ab0bb717966e98d3fcb39a1fbdf04d51b /src/vnet/interface.h | |
parent | 260de8684d48c1a69e169112fa053d2df1b4871f (diff) |
Adjacency walk more scalable
When walking all adjacencies for a given {next-hop,interface} instead of
walking all the adjacencies on that interface and matching the next-hop
(which is O(n) in the number of adjacencies on that link, find all instances
of an adjacency with any link-type and wtih that {next-hop,interfacE} pair:
this is O(1).
Change-Id: Ic80399fc9e93c8df111379c039e592d8cafbab18
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/interface.h')
-rw-r--r-- | src/vnet/interface.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vnet/interface.h b/src/vnet/interface.h index 7556bc5544e..b7b350f68fe 100644 --- a/src/vnet/interface.h +++ b/src/vnet/interface.h @@ -296,6 +296,11 @@ typedef enum vnet_link_t_ [VNET_LINK_NSH] = "nsh", \ } +#define FOR_EACH_VNET_LINK(_link) \ + for (_link = VNET_LINK_IP4; \ + _link <= VNET_LINK_NSH; \ + _link++) + /** * @brief Number of link types. Not part of the enum so it does not have to be included in * switch statements |