Bug 209579

Summary: MPLS not forwarding packet, if packet type is not ipv4, ipv6
Product: Networking Reporter: Alexey Boldyrev (ne-vlezay80)
Component: OtherAssignee: Stephen Hemminger (stephen)
Status: NEW ---    
Severity: normal CC: ne-vlezay80
Priority: P1 Keywords: opw, trivial
Hardware: All   
OS: Linux   
Kernel Version: 5.4.24-rt15-2-rt Subsystem:
Regression: No Bisected commit-id:

Description Alexey Boldyrev 2020-10-08 07:33:23 UTC
The mpls packet is with label 100 not forwarding to gt0 interface.

Earlier soch the packet is normal forwarding.

```
#> tc filter show dev ns-test.0 parent ffff:
filter protocol ipv6 pref 10 flower chain 0 
filter protocol ipv6 pref 10 flower chain 0 handle 0x1 
  dst_mac 33:33:ff:ff:ff:ff/33:33:00:00:00:00
  eth_type ipv6
  not_in_hw
        action order 1:  pedit action pipe keys 2
         index 1 ref 1 bind 1
         key #0  at eth+0: val 22222222 mask 00000000
         key #1  at eth+4: val 22220000 mask 0000ffff

        action order 2: mpls  push protocol mpls_uc label 100 ttl 255 pipe
         index 1 ref 1 bind 1

        action order 3: mirred (Egress Mirror to device lo) pipe
        index 1 ref 1 bind 1

filter protocol arp pref 49152 matchall chain 0 
filter protocol arp pref 49152 matchall chain 0 handle 0x1 
  not_in_hw
        action order 1:  pedit action pipe keys 2
         index 2 ref 1 bind 1
         key #0  at eth+0: val 22222222 mask 00000000
         key #1  at eth+4: val 22220000 mask 0000ffff

        action order 2: mpls  push protocol mpls_uc label 100 ttl 255 pipe
         index 3 ref 1 bind 1

[root@arch user (0)]
#> ip -M r
100 as to 101 via inet 169.254.1.2 dev gt0 
105 dev ns-test.0 
[root@arch user (0)]
```