diff options
author | Mauro Sardara <msardara@cisco.com> | 2023-01-19 13:33:57 +0000 |
---|---|---|
committer | Mauro Sardara <msardara@cisco.com> | 2023-01-20 10:18:55 +0000 |
commit | 00b070cfbb3164df823653c7e1d32b7851cf0ee0 (patch) | |
tree | abf40bfd2f48e082e0f5f4fa10420b7f567a6669 /hicn-plugin/src/udp_tunnels/udp_tunnel.c | |
parent | ce8807815b2e9c6630f639e8dc6924f0eff74775 (diff) |
fix: correctly set next node for ifaces and faces
Ticket: HICN-828
Change-Id: I7853bc37e34ca4f2303a537396aef4cb8b06ec98
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'hicn-plugin/src/udp_tunnels/udp_tunnel.c')
-rw-r--r-- | hicn-plugin/src/udp_tunnels/udp_tunnel.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/hicn-plugin/src/udp_tunnels/udp_tunnel.c b/hicn-plugin/src/udp_tunnels/udp_tunnel.c index d03d6a74e..5b0c0a9ef 100644 --- a/hicn-plugin/src/udp_tunnels/udp_tunnel.c +++ b/hicn-plugin/src/udp_tunnels/udp_tunnel.c @@ -17,6 +17,7 @@ #include <vppinfra/bihash_40_8.h> #include <vnet/fib/fib_table.h> #include <vnet/udp/udp_local.h> +#include "../faces/iface_node.h" #include "../error.h" #include "../strategy_dpo_ctx.h" @@ -178,6 +179,18 @@ udp_tunnel_get_create (const ip46_address_t *src_ip, } void +udp_tunnel_set_face (hicn_face_id_t face_id, int isv4) +{ + hicn_face_t *face = NULL; + face = hicn_dpoi_get_from_idx (face_id); + ASSERT (face); + ASSERT (dpo_is_udp_encap (&face->dpo)); + + face->iface_next = isv4 ? HICN4_IFACE_OUTPUT_NEXT_UDP4_ENCAP : + HICN4_IFACE_OUTPUT_NEXT_UDP6_ENCAP; +} + +void udp_tunnel_init () { clib_bihash_init_40_8 (&udp_tunnels_hashtb, "udp encap table", 2048, |