Just finished my review and some basic testing (see other email), so let me reply to these inline.

On 05/02/18 15:31, Ilya Maximets wrote:
On 05.02.2018 17:18, Róbert Mulik wrote:
Hi Ilya,

As I see you are concerned if the code is working, also Eelco mentioned that 
the configuration change didn't take effect for him, so I retested the patch.

I added 2 different types of NICs to OVS on the same server:

1
product: 82599ES 10-Gigabit SFI/SFP+ Network Connection
It uses ixgbe kernel driver by default

2
product: Ethernet Controller XL710 for 40GbE QSFP+
It uses i40e kernel driver by default

In my setup I used a Dell 630 with kernel 4.4.0-111-generic, and used vfio-pci 
kernel driver for the NICs.

I monitored the link_state of the dpdk interfaces and the interrupt counters of 
/proc/interrupts.

When I changed either the other_config:dpdk-lsc-interrupt part of Open_vSwitch, 
or the options:dpdk-lsc-interrupt part of the NIC by set or remove,
the behavior was correct: the link_state always changed when reinitialization 
was triggered,

That is the key point. When the reinitialization was actually triggered?
Was it triggered right after changing the other_config:dpdk-lsc-interrupt ?
Or you need some additional manipulations to trigger the actual reconfiguration?
Only the configuration change will trigger configuration change. I tested this with a stable link.
I was using GDB to get the triggers, so added a quick bt:

Breakpoint 4, dpdk_eth_dev_port_config (dev=dev@entry=0x7f1bbaa19e80, n_rxq=n_rxq@entry=2, n_txq=n_txq@entry=3) at lib/netdev-dpdk.c:712
712    {
#0  dpdk_eth_dev_port_config (dev=dev@entry=0x7f1bbaa19e80, n_rxq=n_rxq@entry=2, n_txq=n_txq@entry=3) at lib/netdev-dpdk.c:712 #1  0x00000000007f01dd in dpdk_eth_dev_init (dev=dev@entry=0x7f1bbaa19e80) at lib/netdev-dpdk.c:828 #2  0x00000000007f1974 in netdev_dpdk_reconfigure (netdev=0x7f1bbaa1af40) at lib/netdev-dpdk.c:3607 #3  0x0000000000752acc in netdev_reconfigure (netdev=netdev@entry=0x7f1bbaa1af40) at lib/netdev.c:2073 #4  0x0000000000727ba1 in port_reconfigure (port=port@entry=0x2365a50) at lib/dpif-netdev.c:3341 #5  0x000000000072b959 in reconfigure_datapath (dp=dp@entry=0x7f2167283010) at lib/dpif-netdev.c:3822 #6  0x000000000072f76c in dpif_netdev_run (dpif=<optimized out>) at lib/dpif-netdev.c:3963
#7  0x0000000000731cca in dpif_run (dpif=<optimized out>) at lib/dpif.c:466
#8  0x00000000006f298b in type_run (type=<optimized out>) at ofproto/ofproto-dpif.c:344 #9  0x00000000006df916 in ofproto_type_run (datapath_type=datapath_type@entry=0x234b560 "netdev") at ofproto/ofproto.c:1703
#10 0x00000000006cd1df in bridge_run__ () at vswitchd/bridge.c:2941
#11 0x00000000006d5678 in bridge_reconfigure (ovs_cfg=<optimized out>) at vswitchd/bridge.c:727
#12 0x00000000006d5f21 in bridge_run () at vswitchd/bridge.c:3026
#13 0x00000000006d6880 in main (argc=10, argv=0x7ffe6455edb8) at vswitchd/ovs-vswitchd.c:120

however there were problems with the counters.

1.
This NIC worked fine, link_state was OK, interrupt counters were incremented as 
expected.

2.
The link_state was OK, but there were problems with the counters.
Can you explain what you mean with counter problems?
With the X710 series there are a few problems related to the link_state and 
interrupts known by intel too. The faulty behavior can be caused by the 
combination of
the FW of the NIC, the kernel version, the dpdk version, and the i40e kernel 
driver version (there can be interference between the kernel driver and dpdk 
driver).


After the verification, as I see the code works fine (the events triggered when 
the options are changed), but the XL710 card has problems with the interrupt 
configuration.

Eelco, I know that you are working with X710 series cards. Did you test the 
patch on one of them, or on a different type?
When (if) you verify the patch, could you please check it on different NICs too?
I have an XL710 card, but for the test I did not check the interrupt generation part. I was using it before with a hard coded version, so assumed it would work, are you telling me setting it dynamically (i.e. changing it multiple times) does not work?

Thank you!

Regards,
Robert


_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to