Bug 1702330 - [NETRO 7.7 Feat] Pull new version of Netronome flower firmware (AOTC-2.10.A.23)
Summary: [NETRO 7.7 Feat] Pull new version of Netronome flower firmware (AOTC-2.10.A.23)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: linux-firmware
Version: 7.7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 7.7
Assignee: Bruno Meneguele
QA Contact: Amit Supugade
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-04-23 13:57 UTC by Simon Horman
Modified: 2019-08-06 13:01 UTC (History)
10 users (show)

Fixed In Version: linux-firmware-20190429-72.gitddde598.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-06 13:01:01 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2019:2169 0 None None None 2019-08-06 13:01:03 UTC

Description Simon Horman 2019-04-23 13:57:48 UTC
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@netronome.com>	2019-03-14 14:39:58 +0200
committer	Louis Peens <louis.peens@netronome.com>	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@netronome.com>
Tested-by: Charles Murcott <charles.murcott@netronome.com>
Acked-by: Simon Horman <simon.horman@netronome.com>

Comment 4 Bruno Meneguele 2019-04-23 19:41:35 UTC
Thanks for the info. Will update the pkg soon.

Comment 5 Rachel Sibley 2019-04-25 14:55:50 UTC
@kexin can you assign and provide ack/nack for this bug ? Thank you !

Comment 6 Simon Horman 2019-05-01 14:50:37 UTC
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")

Comment 10 LiLiang 2019-07-10 10:38:54 UTC
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

Comment 12 Amit Supugade 2019-07-15 07:23:38 UTC
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 ~]#

Comment 14 errata-xmlrpc 2019-08-06 13:01:01 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, 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


Note You need to log in before you can comment on or make changes to this bug.