diff options
author | Damjan Marion <damarion@cisco.com> | 2016-04-13 09:48:56 +0200 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2016-04-29 17:22:16 +0000 |
commit | aca64c9de14225b0077b3fbc76b4dd7447aa6a7a (patch) | |
tree | 6dd71c77cf0a2e0a154527dc6dcf5673cc6fa455 /vnet/vnet/ip/lookup.h | |
parent | 7deadac47eac81bd14fed9b999d73b08cc593f76 (diff) |
Add indirect next hop support
Change-Id: I0626c2650eba7961a15b1e87a664b57bef5503a2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet/vnet/ip/lookup.h')
-rw-r--r-- | vnet/vnet/ip/lookup.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/vnet/vnet/ip/lookup.h b/vnet/vnet/ip/lookup.h index 62de2105133..e9a49124105 100644 --- a/vnet/vnet/ip/lookup.h +++ b/vnet/vnet/ip/lookup.h @@ -79,6 +79,9 @@ typedef enum { /* This packets needs to go to 6RD (RFC5969) */ IP_LOOKUP_NEXT_SIXRD, + /* This packets needs to go to indirect next hop */ + IP_LOOKUP_NEXT_INDIRECT, + /* Hop-by-hop header handling */ IP_LOOKUP_NEXT_HOP_BY_HOP, IP_LOOKUP_NEXT_ADD_HOP_BY_HOP, @@ -101,6 +104,7 @@ typedef enum { [IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip4-hop-by-hop", \ [IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip4-add-hop-by-hop", \ [IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip4-pop-hop-by-hop", \ + [IP_LOOKUP_NEXT_INDIRECT] = "ip4-indirect", \ } #define IP6_LOOKUP_NEXT_NODES { \ @@ -117,6 +121,7 @@ typedef enum { [IP_LOOKUP_NEXT_HOP_BY_HOP] = "ip6-hop-by-hop", \ [IP_LOOKUP_NEXT_ADD_HOP_BY_HOP] = "ip6-add-hop-by-hop", \ [IP_LOOKUP_NEXT_POP_HOP_BY_HOP] = "ip6-pop-hop-by-hop", \ + [IP_LOOKUP_NEXT_INDIRECT] = "ip6-indirect", \ } /* Flow hash configuration */ @@ -170,12 +175,15 @@ typedef struct { /* IP_LOOKUP_NEXT_ARP only */ struct { ip46_address_t next_hop; - u32 next_adj_index_with_same_next_hop; } arp; /* IP_LOOKUP_NEXT_CLASSIFY only */ struct { u16 table_index; } classify; + /* IP_LOOKUP_NEXT_INDIRECT only */ + struct { + ip46_address_t next_hop; + } indirect; }; STRUCT_MARK(signature_end); |