aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-plugin/src/udp_tunnels/udp_tunnel.c
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2023-01-19 13:33:57 +0000
committerMauro Sardara <msardara@cisco.com>2023-01-20 10:18:55 +0000
commit00b070cfbb3164df823653c7e1d32b7851cf0ee0 (patch)
treeabf40bfd2f48e082e0f5f4fa10420b7f567a6669 /hicn-plugin/src/udp_tunnels/udp_tunnel.c
parentce8807815b2e9c6630f639e8dc6924f0eff74775 (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.c13
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,