Hide Forgot
In order to support offload of OVS tunnels where the tunnel endpoint is on an OvS bridge Netronome would like to request inclusion of an updated flower firmware for Netronome Agilio SmartNICs in RHEL7.7. This relates to a driver update described in BZ1700452 The updated firmware is present in the upstream linux-firmware project and the following commit can be pulled from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/ author Louis Peens <louis.peens> 2019-03-14 14:39:58 +0200 committer Louis Peens <louis.peens> 2019-03-15 10:14:52 +0200 commit 7f4139400b8d1b9f2e2eabda5f9d99178fa6b597 (patch) tree a781fcca66d90106d8301ee4b388a01510b4a032 parent 7bc246451318b3536d9bfd3c4e46d541a9831b33 (diff) download linux-firmware-7f4139400b8d1b9f2e2eabda5f9d99178fa6b597.tar.gz nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.10.A.23 New in this release: - Add support for Agilio LX cards Improvements: - Improve tunnel setup time in low traffic rate scenarios Signed-off-by: Louis Peens <louis.peens> Tested-by: Charles Murcott <charles.murcott> Acked-by: Simon Horman <simon.horman>
Thanks for the info. Will update the pkg soon.
@kexin can you assign and provide ack/nack for this bug ? Thank you !
Hi, I had a brief discussion with Jonathan Toppins and others this afternoon about the relationship between this ticket and BZ1673890. In short, I believe everything is in order. In more detail: This ticket requests an update to the Flower firmware included in RHEL 7.7 for Netronome Agilio SmartNICs whereas BZ1673890 requests an update to the basic firmware (a different firmware build) included in RHEL 8.0 (errata). During the discussion I stated that the update requested in this ticket would bring RHEL 7.7 up-to-date with respect to RHEL 8.0 for Flower firmware. As both firmwares mentioned above use the same upstream, linux-firmware, there was a concern that the update requested in this ticket may cause a regression in the basic firmware. This is not the case because I was mistaken and the update requested in this ticket would bring RHEL 7.7 up-to-date with respect to the current request to include updated firmware in RHEL 8.1 (n.b. not RHEL 8.0), as per BZ1663989. I have checked and the upstream linux-firmware commit[1] that this ticket and BZ1663989 request an update to includes the commit[2] that BZ1673890 requests an update to. Thus there should be no known regression introduced from a Netronome point of view. [1] 7f4139400b8d ("nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.10.A.23") [2] 450632bb7822 ("nfp: update Agilio SmartNIC firmware to rev 2.1.16.1")
I confirm linux-firmware contains the correct Netronome flower firmware version. [root@dell-per730-04 ~]# ethtool -i eno1np0 driver: nfp version: 3.10.0-1060.el7.x86_64 SMP mod_ firmware-version: * 0.17 AOTC-2.10.A.23 flower expansion-rom-version: bus-info: 0000:82:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no [root@dell-per730-04 ~]# uname -r 3.10.0-1060.el7.x86_64 [root@dell-per730-04 ~]# rpm -q linux-firmware linux-firmware-20190429-72.gitddde598.el7.noarch
Hi, OvS Tunnel offload looks good on Netronome with given flower firmware. LOG: [root@netqe12 ~]# function switch_nfp_firmware() { > APP=${1:-flower} > FWDIR=${2:-/lib/firmware/netronome/} > cd ${FWDIR} > for FW in *.nffw; do > if [ -L ${FW} ]; then > ln -sf ${APP}/${FW} ${FW} > fi > done > cd > rmmod nfp; sleep 3; modprobe nfp > } [root@netqe12 ~]# [root@netqe12 ~]# [root@netqe12 ~]# switch_nfp_firmware [root@netqe12 ~]# ethtool -i enp129s0np0 driver: nfp version: 3.10.0-1060.el7.x86_64 SMP mod_ firmware-version: * 0.22 AOTC-2.10.A.23 flower expansion-rom-version: bus-info: 0000:81:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no [root@netqe12 ~]# rpm -q linux-firmware linux-firmware-20190429-72.gitddde598.el7.noarch [root@netqe12 ~]# [root@netqe12 ~]# ovs-vsctl show f338d224-dcf2-4f67-93ee-d310c97b7000 Bridge "ovsbr0" Port "enp129s0np0" Interface "enp129s0np0" Port "vxlan1" Interface "vxlan1" type: vxlan options: {key="123", remote_ip="172.16.213.2"} Port "ovsbr0" Interface "ovsbr0" type: internal ovs_version: "2.11.0" [root@netqe12 ~]# ovs-vsctl get Open_vSwitch . other_config:hw-offload "true" [root@netqe12 ~]# [root@netqe12 ~]# ovs-dpctl dump-flows --names 2019-07-15T07:12:06Z|00001|dpif_netlink|INFO|The kernel module does not support meters. tunnel(tun_id=0x7b,src=172.16.213.2,dst=172.16.213.1,tp_dst=4789,flags(+key)),in_port(vxlan_sys_4789),eth(src=16:0b:9c:15:17:f2,dst=5e:61:61:d8:c9:44),eth_type(0x0806), packets:1, bytes:28, used:10.040s, actions:enp129s0np0 tunnel(tun_id=0x7b,src=172.16.213.2,dst=172.16.213.1,tp_dst=4789,flags(+key)),in_port(vxlan_sys_4789),eth(src=16:0b:9c:15:17:f2,dst=5e:61:61:d8:c9:44),eth_type(0x0800),ipv4(frag=no), packets:552, bytes:54096, used:0.020s, actions:enp129s0np0 in_port(enp129s0np0),eth(src=5e:61:61:d8:c9:44,dst=16:0b:9c:15:17:f2),eth_type(0x0806), packets:1, bytes:46, used:10.040s, actions:set(tunnel(tun_id=0x7b,dst=172.16.213.2,ttl=64,tp_dst=4789,flags(key))),vxlan_sys_4789 in_port(enp129s0np0),eth(src=50:6b:4b:aa:de:e6,dst=00:15:4d:13:07:8a),eth_type(0x0806), packets:1, bytes:46, used:0.170s, actions:ovsbr0 in_port(enp129s0np0),eth(src=5e:61:61:d8:c9:44,dst=16:0b:9c:15:17:f2),eth_type(0x0800),ipv4(tos=0/0x3,frag=no), packets:11, bytes:1078, used:10.050s, actions:set(tunnel(tun_id=0x7b,dst=172.16.213.2,ttl=64,tp_dst=4789,flags(key))),vxlan_sys_4789 in_port(enp129s0np0),eth(src=50:6b:4b:aa:de:e6,dst=00:15:4d:13:07:8a),eth_type(0x0800),ipv4(frag=no), packets:1, bytes:78, used:10.040s, actions:ovsbr0 in_port(ovsbr0),eth(src=00:15:4d:13:07:8a,dst=50:6b:4b:aa:de:e6),eth_type(0x0806), packets:1, bytes:42, used:0.170s, actions:enp129s0np0 in_port(ovsbr0),eth(src=00:15:4d:13:07:8a,dst=50:6b:4b:aa:de:e6),eth_type(0x0800),ipv4(frag=no), packets:38, bytes:4010, used:10.040s, actions:enp129s0np0 [root@netqe12 ~]# [root@netqe12 ~]# [root@netqe12 ~]# ovs-dpctl dump-flows --names type=offloaded 2019-07-15T07:12:15Z|00001|dpif_netlink|INFO|The kernel module does not support meters. tunnel(tun_id=0x7b,src=172.16.213.2,dst=172.16.213.1,tp_dst=4789,flags(+key)),in_port(vxlan_sys_4789),eth(src=16:0b:9c:15:17:f2,dst=5e:61:61:d8:c9:44),eth_type(0x0800),ipv4(frag=no), packets:561, bytes:54978, used:0.300s, actions:enp129s0np0 in_port(enp129s0np0),eth(src=5e:61:61:d8:c9:44,dst=16:0b:9c:15:17:f2),eth_type(0x0800),ipv4(tos=0/0x3,frag=no), packets:8, bytes:784, used:7.320s, actions:set(tunnel(tun_id=0x7b,dst=172.16.213.2,ttl=64,tp_dst=4789,flags(key))),vxlan_sys_4789 in_port(ovsbr0),eth(src=00:15:4d:13:07:8a,dst=50:6b:4b:aa:de:e6),eth_type(0x0800),ipv4(frag=no), packets:8, bytes:834, used:7.320s, actions:enp129s0np0 [root@netqe12 ~]# [root@netqe12 ~]# [root@netqe12 ~]# tc -s filter show dev ovsbr0 egress filter protocol arp pref 2 flower chain 0 filter protocol ip pref 3 flower chain 0 filter protocol ip pref 3 flower chain 0 handle 0x1 dst_mac 50:6b:4b:aa:de:e6 src_mac 00:15:4d:13:07:8a eth_type ipv4 ip_flags nofrag in_hw action order 1: mirred (Egress Redirect to device enp129s0np0) stolen index 2 ref 1 bind 1 installed 20 sec used 3 sec Action statistics: Sent 2330 bytes 22 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 1cc2ab8a49436404 [root@netqe12 ~]# tc -s filter show dev enp129s0np0 ingress filter protocol arp pref 2 flower chain 0 filter protocol arp pref 2 flower chain 0 handle 0x1 dst_mac 00:15:4d:13:07:8a src_mac 50:6b:4b:aa:de:e6 eth_type arp not_in_hw action order 1: skbedit ptype host pipe index 1 ref 1 bind 1 installed 0 sec used 0 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Ingress Redirect to device ovsbr0) stolen index 3 ref 1 bind 1 installed 0 sec used 0 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 f5e7f1795f45ad75 filter protocol ip pref 3 flower chain 0 filter protocol ip pref 3 flower chain 0 handle 0x1 dst_mac 16:0b:9c:15:17:f2 src_mac 5e:61:61:d8:c9:44 eth_type ipv4 ip_tos 0/3 ip_flags nofrag in_hw action order 1: tunnel_key set src_ip 0.0.0.0 dst_ip 172.16.213.2 key_id 123 dst_port 4789 nocsum ttl 64 pipe index 1 ref 1 bind 1 installed 8 sec used 8 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Egress Redirect to device vxlan_sys_4789) stolen index 1 ref 1 bind 1 installed 8 sec used 7 sec Action statistics: Sent 784 bytes 8 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 f6908a9d3f495307 [root@netqe12 ~]# [root@netqe12 ~]# [root@netqe12 ~]# tc -s filter show dev enp129s0np0 egress filter protocol arp pref 2 flower chain 0 filter protocol arp pref 2 flower chain 0 handle 0x2 dst_mac 16:0b:9c:15:17:f2 src_mac 5e:61:61:d8:c9:44 eth_type arp not_in_hw action order 1: tunnel_key set src_ip 0.0.0.0 dst_ip 172.16.213.2 key_id 123 dst_port 4789 nocsum ttl 64 pipe index 4 ref 1 bind 1 installed 0 sec used 0 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Egress Redirect to device vxlan_sys_4789) stolen index 8 ref 1 bind 1 installed 0 sec used 0 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 65d6fdbd5245cd62 filter protocol ip pref 3 flower chain 0 filter protocol ip pref 3 flower chain 0 handle 0x1 dst_mac 16:0b:9c:15:17:f2 src_mac 5e:61:61:d8:c9:44 eth_type ipv4 ip_tos 0/3 ip_flags nofrag in_hw action order 1: tunnel_key set src_ip 0.0.0.0 dst_ip 172.16.213.2 key_id 123 dst_port 4789 nocsum ttl 64 pipe index 1 ref 1 bind 1 installed 1 sec used 1 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Egress Redirect to device vxlan_sys_4789) stolen index 1 ref 1 bind 1 installed 1 sec used 0 sec Action statistics: Sent 98 bytes 1 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 f6908a9d3f495307 filter protocol ip pref 3 flower chain 0 handle 0x2 dst_mac 00:15:4d:13:07:8a src_mac 50:6b:4b:aa:de:e6 eth_type ipv4 ip_flags nofrag not_in_hw action order 1: skbedit ptype host pipe index 2 ref 1 bind 1 installed 0 sec used 0 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Ingress Redirect to device ovsbr0) stolen index 6 ref 1 bind 1 installed 0 sec used 0 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 998bb9ffaf4337f5 [root@netqe12 ~]# [root@netqe12 ~]# [root@netqe12 ~]# tc -s filter show dev vxlan_sys_4789 ingress filter protocol arp pref 2 flower chain 0 filter protocol arp pref 2 flower chain 0 handle 0x1 dst_mac 5e:61:61:d8:c9:44 src_mac 16:0b:9c:15:17:f2 eth_type arp enc_dst_ip 172.16.213.1 enc_src_ip 172.16.213.2 enc_key_id 123 enc_dst_port 4789 enc_tos 0/ff not_in_hw action order 1: tunnel_key unset pipe index 4 ref 1 bind 1 installed 10 sec used 4 sec Action statistics: Sent 28 bytes 1 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Egress Redirect to device enp129s0np0) stolen index 6 ref 1 bind 1 installed 10 sec used 4 sec Action statistics: Sent 28 bytes 1 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 44e6d9542440c88c filter protocol ip pref 3 flower chain 0 filter protocol ip pref 3 flower chain 0 handle 0x1 dst_mac 5e:61:61:d8:c9:44 src_mac 16:0b:9c:15:17:f2 eth_type ipv4 enc_dst_ip 172.16.213.1 enc_src_ip 172.16.213.2 enc_key_id 123 enc_dst_port 4789 enc_tos 0/ff ip_flags nofrag in_hw action order 1: tunnel_key unset pipe index 2 ref 1 bind 1 installed 775 sec used 775 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Egress Redirect to device enp129s0np0) stolen index 4 ref 1 bind 1 installed 775 sec used 0 sec Action statistics: Sent 75950 bytes 775 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 c61241c47146514e [root@netqe12 ~]# [root@netqe12 ~]# tc -s filter show dev vxlan_sys_4789 egress filter protocol arp pref 2 flower chain 0 filter protocol ip pref 3 flower chain 0 filter protocol ip pref 3 flower chain 0 handle 0x1 dst_mac 5e:61:61:d8:c9:44 src_mac 16:0b:9c:15:17:f2 eth_type ipv4 enc_dst_ip 172.16.213.1 enc_src_ip 172.16.213.2 enc_key_id 123 enc_dst_port 4789 enc_tos 0/ff ip_flags nofrag in_hw action order 1: tunnel_key unset pipe index 2 ref 1 bind 1 installed 781 sec used 781 sec Action statistics: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 action order 2: mirred (Egress Redirect to device enp129s0np0) stolen index 4 ref 1 bind 1 installed 781 sec used 0 sec Action statistics: Sent 76538 bytes 781 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 cookie len 16 c61241c47146514e [root@netqe12 ~]#
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, 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/RHSA-2019:2169