Bug 1809415

Summary: Illegal "icmp type" error in tc flower icmpv6 filters adding with 802.1Q/802.1AD
Product: Red Hat Enterprise Linux 8 Reporter: Li Shuang <shuali>
Component: iprouteAssignee: Andrea Claudi <aclaudi>
Status: CLOSED ERRATA QA Contact: Li Shuang <shuali>
Severity: medium Docs Contact:
Priority: high    
Version: 8.2CC: atragler
Target Milestone: rcKeywords: Triaged
Target Release: 8.5   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: iproute-5.12.0-0.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:36:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1939382    
Bug Blocks:    

Description Li Shuang 2020-03-03 05:57:04 UTC
Description of problem:
# ip link add type veth
# tc qdisc add dev veth0 ingress
# tc qdisc add dev veth1 ingress
# tc filter add dev veth0 ingress protocol ipv6 flower ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
# tc filter add dev veth0 ingress protocol ipv6 flower ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
# tc filter add dev veth0 ingress protocol 802.1Q flower vlan_ethtype ipv6 ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
# tc filter add dev veth0 ingress protocol 802.1Q flower vlan_ethtype ipv6 ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
# tc filter add dev veth0 ingress protocol 802.1AD flower vlan_ethtype 802.1Q cvlan_ethtype ipv6 ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
# tc filter add dev veth0 ingress protocol 802.1AD flower vlan_ethtype 802.1Q cvlan_ethtype ipv6 ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1


Version-Release number of selected component (if applicable):
iproute-5.3.0-1.el8.x86_64


How reproducible:
always


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 4 Andrea Claudi 2021-04-28 11:07:12 UTC
This is fixed in upstream v5.12, will be pulled in with rebase (see bz#1939382). Li Shuang, thanks for reporting, can you please set ITM and qa_ack+?

Comment 5 Li Shuang 2021-04-28 12:27:04 UTC
Sure. Acked. Thanks.

Comment 9 Li Shuang 2021-05-06 08:19:39 UTC
Reproduced with iproute-tc-5.9.0-4.el8.x86_64:
# sh tc.sh
+ rmmod veth
+ ip link add type veth
+ tc qdisc add dev veth0 ingress
+ tc qdisc add dev veth1 ingress
+ tc filter add dev veth0 ingress protocol ipv6 flower ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol ipv6 flower ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol 802.1Q flower vlan_ethtype ipv6 ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
+ tc filter add dev veth0 ingress protocol 802.1Q flower vlan_ethtype ipv6 ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
+ tc filter add dev veth0 ingress protocol 802.1AD flower vlan_ethtype 802.1Q cvlan_ethtype ipv6 ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
+ tc filter add dev veth0 ingress protocol 802.1AD flower vlan_ethtype 802.1Q cvlan_ethtype ipv6 ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
Illegal "icmp type"
# rpm -q iproute-tc
iproute-tc-5.9.0-4.el8.x86_64

Verified with iproute-tc-5.12.0-0.el8.x86_64:
# sh tc.sh
+ rmmod veth
+ ip link add type veth
+ tc qdisc add dev veth0 ingress
+ tc qdisc add dev veth1 ingress
+ tc filter add dev veth0 ingress protocol ipv6 flower ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol ipv6 flower ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol 802.1Q flower vlan_ethtype ipv6 ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol 802.1Q flower vlan_ethtype ipv6 ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol 802.1AD flower vlan_ethtype 802.1Q cvlan_ethtype ipv6 ip_proto icmpv6 type 135 code 0 action mirred egress redirect dev veth1
+ tc filter add dev veth0 ingress protocol 802.1AD flower vlan_ethtype 802.1Q cvlan_ethtype ipv6 ip_proto icmpv6 type 136 code 0 action mirred egress redirect dev veth1
# rpm -q iproute-tc
iproute-tc-5.12.0-0.el8.x86_64

So set it to Verified.

Comment 11 errata-xmlrpc 2021-11-09 19:36:36 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (iproute bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:4389