Hi, I have configured VPLS in VPP somehow like this link <https://lists.fd.io/g/vpp-dev/message/9112?p=,,,20,0,0,0::Created,,vpls,20,2,0,18122864> .
In addition to the above configurations, I want to add a second vlan tag i.e. 802.1ad (QinQ). To achieve this, I entered following command in both PEs: *"Set interface l2 tag-rewrite GigabitEthernet5/0/0 push dot1ad 12"* Tracking what's going on, I found that the first PE adds the QinQ tag (12), but the second PE will not remove this tag and afterward it goes to error node with this message: *"l2-output: L2 output tag rewrite drops"* Here is what *show trace *shows in the second PE: Packet 1 00:31:10:348251: dpdk-input TenGigabitEthernet4/0/0 rx queue 0 buffer 0x21b6f: current data 14, length 114, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0 ext-hdr-valid l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 l3-hdr-offset 14 PKT MBUF: port 1, nb_segs 1, pkt_len 128 buf_len 2176, data_len 128, ol_flags 0x180, data_off 128, phys_addr 0x4ce6dc40 packet_type 0x1 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 rss 0x0 fdir.hi 0x0 fdir.lo 0x0 Packet Offload Flags PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid Packet Types RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet MPLS: 00:25:90:97:fa:10 -> a0:36:9f:23:aa:78 label 60 exp 0, s 0, ttl 63 00:31:10:348260: mpls-input MPLS: next mpls-lookup[1] label 60 ttl 63 exp 0 00:31:10:348265: mpls-lookup MPLS: next [7], lookup fib index 0, LB index 23 hash 0 label 60 eos 0 00:31:10:348268: lookup-mpls-dst fib-index:0 hdr:[33:64:0:eos] load-balance:21 00:31:10:348270: interface-rx-dpo-l2 sw_if_index:6 *00:31:10:348272: l2-input l2-input: sw_if_index 6 dst 30:85:a9:f2:23:12 src 3c:07:71:5f:2d:f500:31:10:348275: l2-learn l2-learn: sw_if_index 6 dst 30:85:a9:f2:23:12 src 3c:07:71:5f:2d:f5 bd_index 100:31:10:348277: l2-fwd l2-fwd: sw_if_index 6 dst 30:85:a9:f2:23:12 src 3c:07:71:5f:2d:f5 bd_index 1* *00:31:10:348280: l2-output l2-output: sw_if_index 3 dst 30:85:a9:f2:23:12 src 3c:07:71:5f:2d:f5 data 88 a8 00 0c 81 00 00 06 08 00 45 00* *00:31:10:348282: error-drop l2-output: L2 output tag rewrite drops* Colors: Packet reception , MPLS tag handling, L2 handling, Error If you notice red underlined trace, 802.1ad tag 12 (in hex 0C) and 802.1q tag 6 (in hex 06) has been added to packet. I inspected the code in /src/vnet/l2/l2_vtr.h * l2_vtr_process()* function and /src/vnet/l2/l2_input.h *vnet_update_l2_len()* function, but I couldn't find any problem. MY QUESTION: Is it a bug in code that the 802.1ad tag is not removed?? Or should I have entered more commands? Thanks in advance