aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/ip/lookup.h
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-04-13 09:48:56 +0200
committerDave Barach <openvpp@barachs.net>2016-04-29 17:22:16 +0000
commitaca64c9de14225b0077b3fbc76b4dd7447aa6a7a (patch)
tree6dd71c77cf0a2e0a154527dc6dcf5673cc6fa455 /vnet/vnet/ip/lookup.h
parent7deadac47eac81bd14fed9b999d73b08cc593f76 (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.h10
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);