commit eb29dd224dfa881cffd81d84bda48b711e6a79cd
parent c40b3bd58f5c1a8e3c3b98eac18361342e954ed6
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date: Thu, 6 Aug 2020 14:02:05 -0700
SDK-225779: The IP protocol is not correct in the mirror ERSPAN IPv6 header. ...
Devices: 56870_A0
Module: mirroring
The IP protocol is not correct in the mirror ERSPAN IPv6 header. The
issue is fixed in this release.
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sdk-6.5.16/src/bcm/esw/mirror.c b/sdk-6.5.16/src/bcm/esw/mirror.c
@@ -131,6 +131,7 @@
#define IPV6_TRAFFIC_CLASS 2
#define IPV6_NEXT_HDR_TCP 6
#define IPV6_NEXT_HDR_UDP 17
+#define IPV6_NEXT_HDR_GRE 47
#define IPV6_HOP_LIMIT 0x3F
#define IPV6_ETHER_TYPE 0x86DD
@@ -2127,12 +2128,15 @@ _bcm_td3_mirror_flex_editor_header_create(int unit, int edit_ctrl_id,
/* payload length */
*(uint16*)p_profile_header = 0;
p_profile_header+=sizeof(uint16);
- /* Next Header TCP/UDP */
- *p_profile_header = IPV6_NEXT_HDR_UDP;
+
+ /* Next Header GRE */
+ *p_profile_header = IPV6_NEXT_HDR_GRE;
p_profile_header+=1;
+
/* HOP Limit */
*p_profile_header = IPV6_HOP_LIMIT;
p_profile_header+=1;
+
sal_memcpy(p_profile_header, mirror_dest->src6_addr, sizeof(bcm_ip6_t));
p_profile_header+=sizeof(bcm_ip6_t);
sal_memcpy(p_profile_header, mirror_dest->dst6_addr, sizeof(bcm_ip6_t));