Bug 1540012

Summary: Cisco system add dpdk port to ovs bridge failed when configure mtu_request to be a jumbo frame
Product: Red Hat Enterprise Linux 7 Reporter: liting <tli>
Component: openvswitchAssignee: Aaron Conole <aconole>
Status: CLOSED ERRATA QA Contact: liting <tli>
Severity: high Docs Contact:
Priority: medium    
Version: 7.5CC: aconole, atragler, ctrautma, jhsiao, ovs-qe, pvauter, tli
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openvswitch-2.9.0-27.el7fdn Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-21 13:36:35 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:
Attachments:
Description Flags
NIC settings exported from the cisco management tool none

Description liting 2018-01-30 05:29:42 UTC
Created attachment 1388134 [details]
NIC settings exported from the cisco management tool

Description of problem:
Cisco system add dpdk port to ovs bridge failed when configure mtu_request to be a jumbo frame.

Version-Release number of selected component (if applicable):
openvswitch-2.9.0-0.1.20180108git8e3a28c.el7fdp.x86_64

How reproducible:


Steps to Reproduce:
1. Run following commands in cisco machine
driverctl -v set-override 0000:09:00.0 vfio-pci
driverctl -v set-override 0000:0a:00.0 vfio-pci

ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096,0
ovs-vsctl --timeout 10 set Open_vSwitch . other_config:max-idle=30000
systemctl restart openvswitch

ovs-vsctl --timeout 10 set Open_vSwitch . other_config:pmd-cpu-mask=0x20000200
ovs-vsctl --timeout 10 add-br br0 -- set bridge br0 datapath_type=netdev
ovs-vsctl --timeout 10 add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:09:00.0 options:n_rxq=1 mtu_request=2000

2. Add dpdk1 without configure mtu_request to be a jumbo frame.
ovs-vsctl --timeout 10 add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:0a:00.0 options:n_rxq=1


Actual results:
Run following command successfully.
ovs-vsctl --timeout 10 add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:0a:00.0 options:n_rxq=1

But run following command failed.
ovs-vsctl --timeout 10 add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:09:00.0 options:n_rxq=1 mtu_request=2000

check the /var/log/openvswitch/ovs-vswitchd.log
2018-01-29T07:35:34.486Z|00115|dpdk|INFO|EAL: PCI device 0000:09:00.0 on NUMA socket 0
2018-01-29T07:35:34.486Z|00116|dpdk|INFO|EAL:   probe driver: 1137:43 net_enic
2018-01-29T07:35:34.487Z|00117|dpdk|ERR|EAL: Cannot open /dev/vfio/55: Permission denied
2018-01-29T07:35:34.487Z|00118|dpdk|ERR|EAL: Driver cannot attach the device (0000:09:00.0)
2018-01-29T07:35:34.487Z|00119|netdev_dpdk|WARN|Error attaching device '0000:09:00.0' to DPDK
2018-01-29T07:35:34.487Z|00120|netdev|WARN|dpdk0: could not set configuration (Invalid argument)



Expected results:
Run following command successfully.
ovs-vsctl --timeout 10 add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:09:00.0 options:n_rxq=1 mtu_request=2000

Additional info:
Following is the cisco nic info.
[root@cisco-c220m4-01 ~]# ethtool -i enp9s0
driver: enic
version: 2.3.0.42
firmware-version: 4.1(3a)
expansion-rom-version: 
bus-info: 0000:09:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

[root@cisco-c220m4-01 ~]# lspci -s 0000:09:00.0
09:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2)

VIC model is VIC-1227

Comment 2 Aaron Conole 2018-01-30 13:11:49 UTC
Can you give me access to the system?

Comment 5 Aaron Conole 2018-02-01 20:19:22 UTC
Please capture the coredump from Open vSwitch when this occurs (I at least saw one happen when I looked).  I'll be able to debug.

Comment 7 Aaron Conole 2018-04-20 14:04:57 UTC
The fix for this is upstream at:
  http://dpdk.org/ml/archives/dev/2018-April/095388.html

Waiting on it to be accepted.

Comment 8 Aaron Conole 2018-05-06 13:49:23 UTC
This will be available in 2.9.0-27

Comment 13 errata-xmlrpc 2018-06-21 13:36:35 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/RHBA-2018:1962