aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-plugin/src/faces/ip/face_ip_node.c
diff options
context:
space:
mode:
authorAlberto Compagno <acompagn+fdio@cisco.com>2019-08-09 16:11:33 +0200
committerAlberto Compagno <acompagn+fdio@cisco.com>2019-10-07 09:07:07 +0200
commit9f0aa8c27ee927b5c74b75fac72eaa782ff23a53 (patch)
tree09245b82718991417dcd8ca1b6e9de3b3b9c8ec8 /hicn-plugin/src/faces/ip/face_ip_node.c
parent85a791ac2cdd35d79c00141e748b4c68fbdafb0d (diff)
[HICN-226]
Reworked incoming face identification on receiving a data packet. The output is now a list of possible incoming faces, plus a preferred one which cover the case in which the face is a local producer face. In that case we can identify the face uniquely as we are sure that we have one face for memif. Change-Id: Ic48475a36e37a28cec8cc1448b4b4ee6c001efc0 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Diffstat (limited to 'hicn-plugin/src/faces/ip/face_ip_node.c')
-rw-r--r--hicn-plugin/src/faces/ip/face_ip_node.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/hicn-plugin/src/faces/ip/face_ip_node.c b/hicn-plugin/src/faces/ip/face_ip_node.c
index 6592dc065..3f1f6a0d0 100644
--- a/hicn-plugin/src/faces/ip/face_ip_node.c
+++ b/hicn-plugin/src/faces/ip/face_ip_node.c
@@ -144,6 +144,7 @@ typedef enum
\
ret = LOCK_FROM_LOCAL_IP##ipv \
(&(hicnb0->face_dpo_id), \
+ &(hicnb0->in_faces_vec_id), \
&hicnb0->flags, \
&(ip_hdr->dst_address), \
vnet_buffer (b0)->sw_if_index[VLIB_RX]); \
@@ -232,12 +233,14 @@ typedef enum
\
ret0 = LOCK_FROM_LOCAL_IP##ipv \
(&(hicnb0->face_dpo_id), \
+ &(hicnb0->in_faces_vec_id), \
&hicnb0->flags, \
&(ip_hdr0->dst_address), \
vnet_buffer (b0)->sw_if_index[VLIB_RX]); \
\
ret1 = LOCK_FROM_LOCAL_IP##ipv \
(&(hicnb1->face_dpo_id), \
+ &(hicnb1->in_faces_vec_id), \
&hicnb1->flags, \
&(ip_hdr1->dst_address), \
vnet_buffer (b1)->sw_if_index[VLIB_RX]); \