From 30e7671c85087b5781a34bde45ef3846f5de8c17 Mon Sep 17 00:00:00 2001 From: pcamaril Date: Tue, 4 Feb 2020 08:36:51 +0100 Subject: sr: update NH value for Ethernet payloads Upon encapsulation of L2 frames, IETF has replaced the NextHeader value from 59 (IPv6 No Next Header) to 143 (Ethernet). https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml Type: fix Signed-off-by: pcamaril Change-Id: I88aa5590c81d16700ff7a0bbe6337e113179496e Signed-off-by: pcamaril --- src/vnet/srv6/sr_policy_rewrite.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/vnet/srv6/sr_policy_rewrite.c') diff --git a/src/vnet/srv6/sr_policy_rewrite.c b/src/vnet/srv6/sr_policy_rewrite.c index 9c4d0ec493f..b7fbc4b8cda 100755 --- a/src/vnet/srv6/sr_policy_rewrite.c +++ b/src/vnet/srv6/sr_policy_rewrite.c @@ -1967,34 +1967,34 @@ sr_policy_rewrite_encaps_l2 (vlib_main_t * vm, vlib_node_runtime_t * node, if (ip0->protocol == IP_PROTOCOL_IPV6_ROUTE) { sr0 = (void *) (ip0 + 1); - sr0->protocol = IP_PROTOCOL_IP6_NONXT; + sr0->protocol = IP_PROTOCOL_IP6_ETHERNET; } else - ip0->protocol = IP_PROTOCOL_IP6_NONXT; + ip0->protocol = IP_PROTOCOL_IP6_ETHERNET; if (ip1->protocol == IP_PROTOCOL_IPV6_ROUTE) { sr1 = (void *) (ip1 + 1); - sr1->protocol = IP_PROTOCOL_IP6_NONXT; + sr1->protocol = IP_PROTOCOL_IP6_ETHERNET; } else - ip1->protocol = IP_PROTOCOL_IP6_NONXT; + ip1->protocol = IP_PROTOCOL_IP6_ETHERNET; if (ip2->protocol == IP_PROTOCOL_IPV6_ROUTE) { sr2 = (void *) (ip2 + 1); - sr2->protocol = IP_PROTOCOL_IP6_NONXT; + sr2->protocol = IP_PROTOCOL_IP6_ETHERNET; } else - ip2->protocol = IP_PROTOCOL_IP6_NONXT; + ip2->protocol = IP_PROTOCOL_IP6_ETHERNET; if (ip3->protocol == IP_PROTOCOL_IPV6_ROUTE) { sr3 = (void *) (ip3 + 1); - sr3->protocol = IP_PROTOCOL_IP6_NONXT; + sr3->protocol = IP_PROTOCOL_IP6_ETHERNET; } else - ip3->protocol = IP_PROTOCOL_IP6_NONXT; + ip3->protocol = IP_PROTOCOL_IP6_ETHERNET; /* Which Traffic class and flow label do I set ? */ //ip0->ip_version_traffic_class_and_flow_label = clib_host_to_net_u32(0|((6&0xF)<<28)|((ip0_encap->tos&0xFF)<<20)); @@ -2105,10 +2105,10 @@ sr_policy_rewrite_encaps_l2 (vlib_main_t * vm, vlib_node_runtime_t * node, if (ip0->protocol == IP_PROTOCOL_IPV6_ROUTE) { sr0 = (void *) (ip0 + 1); - sr0->protocol = IP_PROTOCOL_IP6_NONXT; + sr0->protocol = IP_PROTOCOL_IP6_ETHERNET; } else - ip0->protocol = IP_PROTOCOL_IP6_NONXT; + ip0->protocol = IP_PROTOCOL_IP6_ETHERNET; if (PREDICT_FALSE (node->flags & VLIB_NODE_FLAG_TRACE) && PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED)) -- cgit 1.2.3-korg