[ovs-dev] How about give a simplify kernel version OVS used in Docker network?

2018-11-13 Thread Sam
Hi all,

When I'm using Docker network, I choose linux bridge, as OVS will take high
CPU cost. I think most user will encounter this problem.

But also I want to use openflow and SDN. So how about give a simplify
kernel version OVS used in Docker network ?

And why OVS take high CPU cost?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] Bug in OVS2.8.0+DPDK17.05+Intel_82599_IXGBE sriov?

2018-05-18 Thread Sam
I have test dpdk testpmd, it is OK in the same enviroment.

Why ovs-dpdk could not work? I think that must be some bug in ovs?

2018-05-18 11:42 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm using OVS2.8.0+DPDK17.05+Intel_82599_IXGBE for test, the vf driver is
> ixgbevf-4.0.3.
>
> I use sriov follow like this:
> echo 1 > /sys/bus/pci/devices/:01:00.0/max_vfs
>
> Then test l3fwd-vf demo, it is OK.
>
> Then test OVS2.8.0, and assign pf for ovs like this:
> ovs-vsctl add-port br_t dpdk-p0 \
>-- set Interface dpdk-p0 type=dpdk options:dpdk-devargs=:01:00.0
>
> Then I want to link up vf in linux driver, but report error
> # sudo ifconfig em1_0 up
> SIOCSIFFLAGS: Network is down
>
> And log shows this:
> kernel: ixgbevf :01:10.0: PF still in reset state.  Is the PF
> interface up?
>
> And of course dpdk-p0 could NOT work.
>
> But I found if I close sriov, dpdk-p0 could work.
>
>
> So is this means sriov could not work in OVS2.8.0+DPDK17.05+Intel_82599_IXGBE?
> Who have ever run success? Thank you~
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Bug in OVS2.8.0+DPDK17.05+Intel_82599_IXGBE sriov?

2018-05-17 Thread Sam
Hi all,

I'm using OVS2.8.0+DPDK17.05+Intel_82599_IXGBE for test, the vf driver is
ixgbevf-4.0.3.

I use sriov follow like this:
echo 1 > /sys/bus/pci/devices/:01:00.0/max_vfs

Then test l3fwd-vf demo, it is OK.

Then test OVS2.8.0, and assign pf for ovs like this:
ovs-vsctl add-port br_t dpdk-p0 \
   -- set Interface dpdk-p0 type=dpdk options:dpdk-devargs=:01:00.0

Then I want to link up vf in linux driver, but report error
# sudo ifconfig em1_0 up
SIOCSIFFLAGS: Network is down

And log shows this:
kernel: ixgbevf :01:10.0: PF still in reset state.  Is the PF interface
up?

And of course dpdk-p0 could NOT work.

But I found if I close sriov, dpdk-p0 could work.


So is this means sriov could not work in
OVS2.8.0+DPDK17.05+Intel_82599_IXGBE? Who have ever run success? Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [dpdk-dev] How to dump DPDK log?

2018-05-16 Thread Sam
Oh, it should be user1,8 in dpdk-17.05

OMG

2018-05-17 10:26 GMT+08:00 Sam <batmanu...@gmail.com>:

> How to set this param...
>
> I use this, but report me bug:
>
> sudo /usr/local/bin/ovs-vsctl --no-wait set Open_vSwitch .
> other_config:dpdk-extra="--log-level=user1,debug -c 0x40004 -n 4
> --socket-mem 1024 -w :01:00.0 -w :01:00.1"
>
> Bug:
>
> 2018-05-17T02:23:21.878Z|00010|dpdk|INFO|EAL ARGS: ovs-vswitchd
> --log-level=user1,debug -c 0x40004 -n 4 --socket-mem 1024 -w :01:00.0
> -w :01:00.1
> 2018-05-17T02:23:21.878Z|00011|dpdk|ERR|EAL: invalid parameters for
> --log-level
> 2018-05-17T02:23:21.879Z|00012|dpdk|INFO|EAL: Detected 32 lcore(s)
> 2018-05-17T02:23:21.879Z|00013|dpdk|ERR|EAL: invalid parameters for
> --log-level
>
> 2018-05-17T02:23:04.374Z|00010|dpdk|INFO|EAL ARGS: ovs-vswitchd
> --log-level="user1,debug" -c 0x40004 -n 4 --socket-mem 1024 -w :01:00.0
> -w :01:00.1
> 2018-05-17T02:23:04.374Z|00011|dpdk|ERR|EAL: invalid parameters for
> --log-level
> 2018-05-17T02:23:04.375Z|00012|dpdk|INFO|EAL: Detected 32 lcore(s)
> 2018-05-17T02:23:04.375Z|00013|dpdk|ERR|EAL: invalid parameters for
> --log-level
>
> 2018-05-16 21:29 GMT+08:00 Ferruh Yigit <ferruh.yi...@intel.com>:
>
>> On 5/16/2018 9:30 AM, Sam wrote:
>> > I want DPDK VHOST module DEBUG level log
>> >
>> > 2018-05-16 16:27 GMT+08:00 Sam <batmanu...@gmail.com>:
>> >
>> >> Hi all,
>> >>
>> >> I'm debugging OVS2.9.0 and DPDK18.02, I found I could not dump DPDK log
>> >> like vhost module.
>> >>
>> >> How can I dump DPDK log into files? Thank you~
>> >>
>>
>> (Unfortunately) vhost module doesn't register its log type but uses USER1
>> log
>> type [1].
>>
>> Need to set user1 log type to debug, following eal parameter should work:
>> --log-level="user1,debug"
>>
>> Same can be done with logging related APIs by application
>>
>>
>> [1]
>> https://dpdk.org/browse/dpdk/tree/lib/librte_vhost/vhost.h?h
>> =v18.05-rc4#n351
>>
>
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [dpdk-dev] How to dump DPDK log?

2018-05-16 Thread Sam
How to set this param...

I use this, but report me bug:

sudo /usr/local/bin/ovs-vsctl --no-wait set Open_vSwitch .
other_config:dpdk-extra="--log-level=user1,debug -c 0x40004 -n 4
--socket-mem 1024 -w :01:00.0 -w :01:00.1"

Bug:

2018-05-17T02:23:21.878Z|00010|dpdk|INFO|EAL ARGS: ovs-vswitchd
--log-level=user1,debug -c 0x40004 -n 4 --socket-mem 1024 -w :01:00.0
-w :01:00.1
2018-05-17T02:23:21.878Z|00011|dpdk|ERR|EAL: invalid parameters for
--log-level
2018-05-17T02:23:21.879Z|00012|dpdk|INFO|EAL: Detected 32 lcore(s)
2018-05-17T02:23:21.879Z|00013|dpdk|ERR|EAL: invalid parameters for
--log-level

2018-05-17T02:23:04.374Z|00010|dpdk|INFO|EAL ARGS: ovs-vswitchd
--log-level="user1,debug" -c 0x40004 -n 4 --socket-mem 1024 -w :01:00.0
-w :01:00.1
2018-05-17T02:23:04.374Z|00011|dpdk|ERR|EAL: invalid parameters for
--log-level
2018-05-17T02:23:04.375Z|00012|dpdk|INFO|EAL: Detected 32 lcore(s)
2018-05-17T02:23:04.375Z|00013|dpdk|ERR|EAL: invalid parameters for
--log-level

2018-05-16 21:29 GMT+08:00 Ferruh Yigit <ferruh.yi...@intel.com>:

> On 5/16/2018 9:30 AM, Sam wrote:
> > I want DPDK VHOST module DEBUG level log
> >
> > 2018-05-16 16:27 GMT+08:00 Sam <batmanu...@gmail.com>:
> >
> >> Hi all,
> >>
> >> I'm debugging OVS2.9.0 and DPDK18.02, I found I could not dump DPDK log
> >> like vhost module.
> >>
> >> How can I dump DPDK log into files? Thank you~
> >>
>
> (Unfortunately) vhost module doesn't register its log type but uses USER1
> log
> type [1].
>
> Need to set user1 log type to debug, following eal parameter should work:
> --log-level="user1,debug"
>
> Same can be done with logging related APIs by application
>
>
> [1]
> https://dpdk.org/browse/dpdk/tree/lib/librte_vhost/vhost.h?
> h=v18.05-rc4#n351
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] How to dump DPDK log?

2018-05-16 Thread Sam
But I don't got any log from DPDK, ether INFO or DEBUG, I use ovs2.8.0 like
this

[gangyewei@yf-mos-test-net07 gyw_ovs]$ git diff
[gangyewei@yf-mos-test-net07 gyw_ovs]$ git branch
* (detached from v2.8.0)


I use dpdk-17.05, and enable debugging like the mail defore

[gangyewei@yf-mos-test-net07 gyw_dpdk]$ git branch
* (detached from v17.05-rc1)


I set log level like you said:

[root@yf-mos-test-net07 vms]# sudo /usr/local/bin/ovs-appctl vlog/set
file:netdev_dpdk:dbg
[root@yf-mos-test-net07 vms]# sudo /usr/local/bin/ovs-appctl vlog/set
file:dpdk:dbg
[root@yf-mos-test-net07 vms]# sudo /usr/local/bin/ovs-appctl vlog/list |
grep dpdk
dpdk   OFFERRDBG
netdev_dpdkOFFERRDBG


But I can't get DPDK log:

tailf /usr/local/var/log/openvswitch/ovs-vswitchd.log


BTW, I use this path to dump dpdk log before, this way could also NOT work

FILE *fp = fopen("/usr/local/var/log/openvswitch/dpdk.log", "a+b");
if (fp) {
rte_openlog_stream(fp);
}


BTW, I use gdb to debug ovs-vswitchd, and I set break point in rte_log(),
then I add port or something,
but I found I can't step into this function !!!


I don't know if there are any one who dump DPDK log in ovs2.8.0+dpdk17.05.1


2018-05-16 20:17 GMT+08:00 Eelco Chaudron <echau...@redhat.com>:

> Yes that should do it, once done don't forget to rebuild both DPDK and OVS.
>
> Cant remember from the top of my head which DPDK debug to enable, but the
> following will do it for sure:
>
>ovs-appctl vlog/set file:dpdk:dbg
>
>
>ovs-appctl vlog/set file:netdev_dpdk:dbg
>
> //Eelco
>
>
> On 16/05/18 14:11, Sam wrote:
>
> Is this to enable debug log in DPDK?
>
> diff --git a/config/common_base b/config/common_base
> index 5f2ad94..ecbfb3f 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -93,8 +93,8 @@ CONFIG_RTE_MAX_NUMA_NODES=8
>  CONFIG_RTE_MAX_MEMSEG=256
>  CONFIG_RTE_MAX_MEMZONE=2560
>  CONFIG_RTE_MAX_TAILQ=32
> -CONFIG_RTE_LOG_LEVEL=RTE_LOG_INFO
> -CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
> +CONFIG_RTE_LOG_LEVEL=RTE_LOG_DEBUG
> +CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_DEBUG
>  CONFIG_RTE_LOG_HISTORY=256
>  CONFIG_RTE_LIBEAL_USE_HPET=n
>  CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
> @@ -651,7 +651,7 @@ CONFIG_RTE_LIBRTE_KNI=n
>  CONFIG_RTE_LIBRTE_PMD_KNI=n
>  CONFIG_RTE_KNI_KMOD=n
>  CONFIG_RTE_KNI_KMOD_ETHTOOL=n
> -CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
> +CONFIG_RTE_KNI_PREEMPT_DEFAULT=n
>
>  #
>  # Compile the pdump library
> @@ -661,9 +661,9 @@ CONFIG_RTE_LIBRTE_PDUMP=y
>  #
>  # Compile vhost user library
>  #
> -CONFIG_RTE_LIBRTE_VHOST=n
> +CONFIG_RTE_LIBRTE_VHOST=y
>  CONFIG_RTE_LIBRTE_VHOST_NUMA=n
> -CONFIG_RTE_LIBRTE_VHOST_DEBUG=n
> +CONFIG_RTE_LIBRTE_VHOST_DEBUG=y
>
> 2018-05-16 20:04 GMT+08:00 Eelco Chaudron <echau...@redhat.com>:
>
>> On 16/05/18 10:30, Sam wrote:
>>
>>> I want DPDK VHOST module DEBUG level log
>>>
>> First make sure you build DPDK with debug logging enabled, than you can
>> set the debug level using appctl.
>>
>> ovs-appctl vlog/list | grep dpdk
>> ovs-appctl vlog/set file:dpdk:dbg
>>
>> Logs should be in the ovs-vswitchd.log.
>>
>> //Eelco
>>
>> 2018-05-16 16:27 GMT+08:00 Sam <batmanu...@gmail.com>:
>>>
>>> Hi all,
>>>>
>>>> I'm debugging OVS2.9.0 and DPDK18.02, I found I could not dump DPDK log
>>>> like vhost module.
>>>>
>>>> How can I dump DPDK log into files? Thank you~
>>>>
>>>> ___
>>> dev mailing list
>>> d...@openvswitch.org
>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>>
>>
>>
>> ___
>> dev mailing list
>> d...@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>
>
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] How to dump DPDK log?

2018-05-16 Thread Sam
Is this to enable debug log in DPDK?

diff --git a/config/common_base b/config/common_base
index 5f2ad94..ecbfb3f 100644
--- a/config/common_base
+++ b/config/common_base
@@ -93,8 +93,8 @@ CONFIG_RTE_MAX_NUMA_NODES=8
 CONFIG_RTE_MAX_MEMSEG=256
 CONFIG_RTE_MAX_MEMZONE=2560
 CONFIG_RTE_MAX_TAILQ=32
-CONFIG_RTE_LOG_LEVEL=RTE_LOG_INFO
-CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
+CONFIG_RTE_LOG_LEVEL=RTE_LOG_DEBUG
+CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_DEBUG
 CONFIG_RTE_LOG_HISTORY=256
 CONFIG_RTE_LIBEAL_USE_HPET=n
 CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
@@ -651,7 +651,7 @@ CONFIG_RTE_LIBRTE_KNI=n
 CONFIG_RTE_LIBRTE_PMD_KNI=n
 CONFIG_RTE_KNI_KMOD=n
 CONFIG_RTE_KNI_KMOD_ETHTOOL=n
-CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
+CONFIG_RTE_KNI_PREEMPT_DEFAULT=n

 #
 # Compile the pdump library
@@ -661,9 +661,9 @@ CONFIG_RTE_LIBRTE_PDUMP=y
 #
 # Compile vhost user library
 #
-CONFIG_RTE_LIBRTE_VHOST=n
+CONFIG_RTE_LIBRTE_VHOST=y
 CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-CONFIG_RTE_LIBRTE_VHOST_DEBUG=n
+CONFIG_RTE_LIBRTE_VHOST_DEBUG=y

2018-05-16 20:04 GMT+08:00 Eelco Chaudron <echau...@redhat.com>:

> On 16/05/18 10:30, Sam wrote:
>
>> I want DPDK VHOST module DEBUG level log
>>
> First make sure you build DPDK with debug logging enabled, than you can
> set the debug level using appctl.
>
> ovs-appctl vlog/list | grep dpdk
> ovs-appctl vlog/set file:dpdk:dbg
>
> Logs should be in the ovs-vswitchd.log.
>
> //Eelco
>
> 2018-05-16 16:27 GMT+08:00 Sam <batmanu...@gmail.com>:
>>
>> Hi all,
>>>
>>> I'm debugging OVS2.9.0 and DPDK18.02, I found I could not dump DPDK log
>>> like vhost module.
>>>
>>> How can I dump DPDK log into files? Thank you~
>>>
>>> ___
>> dev mailing list
>> d...@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>
>
> ___
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] How to dump DPDK log?

2018-05-16 Thread Sam
I want DPDK VHOST module DEBUG level log

2018-05-16 16:27 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm debugging OVS2.9.0 and DPDK18.02, I found I could not dump DPDK log
> like vhost module.
>
> How can I dump DPDK log into files? Thank you~
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] How to dump DPDK log?

2018-05-16 Thread Sam
Hi all,

I'm debugging OVS2.9.0 and DPDK18.02, I found I could not dump DPDK log
like vhost module.

How can I dump DPDK log into files? Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] kernel crash bug caused by ixgbevf kernel module of centos-3.10.0-229.20.1.el7

2018-01-29 Thread Sam
I found a bug about ixgbevf kernel module in centos-3.10.0-229.20.1.el7.
And this bug is also in 3.10.0-514.10.2.el7.

How to produce this bug: use SRIOV first, then add lots of network traffic
on vf port, and then ifdow/ifup vf port, after many times, this bug happens.

BUG:

[308026.586026] ixgbevf :01:10.0: NIC Link is Down
[308026.586037] ixgbevf :01:10.1: NIC Link is Down
[308026.683724] bonding: bond1: link status definitely down for
interface enp1s16, disabling it
[308026.683728] bonding: bond1: now running without any active interface !
[308026.683729] bonding: bond1: link status definitely down for
interface enp1s16f1, disabling it
[308028.266060] bonding: bond1: Removing slave enp1s16.
[308028.266135] bonding: bond1: Warning: the permanent HWaddr of
enp1s16 - 4e:cd:a6:59:26:2c - is still in use by bond1. Set the HWaddr
of enp1s16 to a different address to avoid conflicts.
[308028.266139] bonding: bond1: releasing active interface enp1s16
[308028.359872] BUG: unable to handle kernel NULL pointer dereference
at 0008
[308028.361319] IP: []
ixgbevf_alloc_rx_buffers+0x60/0x160 [ixgbevf]
[308028.362049] PGD 0
[308028.362777] Oops:  [#1] SMP
[308028.363481] Modules linked in: ixgbevf(OF) igb_uio(OF)
iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_nat_ipv4 nf_nat nf_conntrack iptable_filter nbd(OF) vhost_net
macvtap macvlan udp_diag unix_diag af_packet_diag netlink_diag tun
tcp_diag inet_diag uio bonding ext4 mbcache jbd2 intel_powerclamp
coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul crc32c_intel
ghash_clmulni_intel mgag200 aesni_intel iTCO_wdt lrw dcdbas gf128mul
syscopyarea sysfillrect iTCO_vendor_support glue_helper sysimgblt
ablk_helper ttm cryptd ipmi_devintf igb ixgbe drm_kms_helper drm
i2c_algo_bit ptp i2c_core ipmi_si pps_core sg mdio ipmi_msghandler dca
sb_edac mei_me mei shpchp lpc_ich pcspkr mfd_core edac_core wmi
acpi_power_meter acpi_pad ip_tables xfs libcrc32c sd_mod crc_t10dif
crct10dif_common ahci libahci
[308028.368487]  libata megaraid_sas [last unloaded: ixgbevf]
[308028.369345] CPU: 0 PID: 21971 Comm: kworker/0:1 Tainted: GF
W  O--   3.10.0-229.el7.x86_64 #1
[308028.370226] Hardware name: Dell Inc. PowerEdge R720/068CDY, BIOS
2.5.2 01/28/2015
[308028.371132] Workqueue: events ixgbevf_service_task [ixgbevf]
[308028.372038] task: 88022b0dad80 ti: 88010905c000 task.ti:
88010905c000
[308028.372965] RIP: 0010:[]  []
ixgbevf_alloc_rx_buffers+0x60/0x160 [ixgbevf]
[308028.373949] RSP: 0018:88010905fd10  EFLAGS: 00010287
[308028.374900] RAX: 0200 RBX:  RCX:

[308028.375895] RDX:  RSI: 01ff RDI:
8800b82061c0
[308028.376841] RBP: 88010905fd48 R08: 0282 R09:
0001
[308028.377780] R10: 0004 R11: 0005 R12:

[308028.378702] R13: fe00 R14: 01ff R15:
8800b82061c0
[308028.379628] FS:  () GS:882f7fa0()
knlGS:
[308028.380540] CS:  0010 DS:  ES:  CR0: 80050033
[308028.381471] CR2: 0008 CR3: 0190a000 CR4:
001427f0
[308028.382376] DR0:  DR1:  DR2:

[308028.383291] DR3:  DR6: 0ff0 DR7:
0400
[308028.384180] Stack:
[308028.385051]  8832d1b58bc0 88010905fd28 8832d1b588c0
0009
[308028.385933]  8832d1b58bc0 8800b82061c0 1028
88010905fdb8
[308028.386804]  a0496ba3 8832d1b58e58 00022b1e2000
819e2108
[308028.387693] Call Trace:
[308028.388520]  [] ixgbevf_configure+0x5d3/0x7d0 [ixgbevf]
[308028.389363]  [] ixgbevf_reinit_locked+0x65/0x90 [ixgbevf]
[308028.390213]  [] ixgbevf_service_task+0x324/0x420 [ixgbevf]
[308028.391043]  [] process_one_work+0x17b/0x470
[308028.391888]  [] worker_thread+0x11b/0x400
[308028.392728]  [] ? rescuer_thread+0x400/0x400
[308028.393576]  [] kthread+0xcf/0xe0
[308028.394434]  [] ? kthread_create_on_node+0x140/0x140
[308028.395339]  [] ret_from_fork+0x7c/0xb0
[308028.396205]  [] ? kthread_create_on_node+0x140/0x140
[308028.397068] Code: c5 41 89 f6 49 89 c4 48 8d 14 40 48 8b 47 28 49
c1 e4 04 4c 03 67 20 48 8d 1c d0 0f b7 47 4c 41 29 c5 66 0f 1f 84 00
00 00 00 00 <48> 83 7b 08 00 74 73 8b 53 10 48 8b 03 48 01 d0 49 83 c4
10 48
[308028.398959] RIP  []
ixgbevf_alloc_rx_buffers+0x60/0x160 [ixgbevf]
[308028.399910]  RSP 
[308028.400846] CR2: 0008
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [sriov] [ixgbevf] We have to down PF and VF port to reconfig a port?

2018-01-04 Thread Sam
This is kernel ixgbevf error log:

Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865542] [ cut
here ]
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865556] WARNING: at
net/sched/sch_generic.c:297 dev_watchdog+0x276/0x280()
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865558] NETDEV WATCHDOG:
enp1s16f1 (ixgbevf): transmit queue 0 timed out
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865559] Modules linked
in: nbd iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_nat_ipv4 nf_nat nf_con
ntrack iptable_filter vhost_net vhost macvtap macvlan ixgbevf(OE)
igb_uio(OE) udp_diag unix_diag af_packet_diag netlink_diag tun uio tcp_diag
inet_diag bonding ext4 m
bcache jbd2 intel_powerclamp coretemp kvm_intel kvm irqbypass crc32_pclmul
ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd
ipmi_devintf sg
 iTCO_wdt iTCO_vendor_support dcdbas pcspkr mei_me mei lpc_ich sb_edac
edac_core ipmi_si wmi shpchp ipmi_msghandler acpi_pad acpi_power_meter
ip_tables xfs libcrc32c
sd_mod crc_t10dif mgag200 drm_kms_helper syscopyarea crct10dif_pclmul
sysfillrect crct10dif_common sysimgblt crc32c_intel fb_sys_fops ttm ahci
drm ixgbe libahci igb l
ibata i2c_algo_bit mdio ptp i2c_core megaraid_sas pps_core dca fjes [last
unloaded: nbd]
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865619] CPU: 0 PID: 0
Comm: swapper/0 Tainted: G   OE  
 3.10.0-514.10.2.el7.mt20170307.x86_64
#1
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865622] Hardware name:
Dell Inc. PowerEdge R720/068CDY, BIOS 2.5.2 01/28/2015
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865624]  880fff803d88
d4910673413043a2 880fff803d40 8168648f
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865626]  880fff803d78
81085940  880ffdfd
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865629]  880ffdfd1940
0008  880fff803de0
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865631] Call Trace:
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865632]  
[] dump_stack+0x19/0x1b
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865639]
[] warn_slowpath_common+0x70/0xb0
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865641]
[] warn_slowpath_fmt+0x5c/0x80
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865644]
[] dev_watchdog+0x276/0x280
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865647]
[] ? dev_graft_qdisc+0x80/0x80
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865650]
[] call_timer_fn+0x36/0x110
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865652]
[] ? dev_graft_qdisc+0x80/0x80
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865655]
[] run_timer_softirq+0x237/0x340
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865658]
[] __do_softirq+0xef/0x280
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865661]
[] call_softirq+0x1c/0x30
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865664]
[] do_softirq+0x65/0xa0
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865667]
[] irq_exit+0x115/0x120
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865670]
[] smp_apic_timer_interrupt+0x45/0x60
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865672]
[] apic_timer_interrupt+0x6d/0x80
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865673]  
[] ? hrtimer_start_range_ns+0x1c6/0x390
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865679]
[] ? cpuidle_enter_state+0x52/0xc0
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865681]
[] ? cpuidle_enter_state+0x48/0xc0
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865683]
[] cpuidle_idle_call+0xd9/0x210
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865687]
[] arch_cpu_idle+0xe/0x30
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865690]
[] cpu_startup_entry+0x245/0x290
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865694]
[] rest_init+0x77/0x80
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865698]
[] start_kernel+0x42c/0x44d
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865700]
[] ? repair_env_string+0x5c/0x5c
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865703]
[] ? early_idt_handlers+0x120/0x120
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865705]
[] x86_64_start_reservations+0x2a/0x2c
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865708]
[] x86_64_start_kernel+0x152/0x175
Dec 27 20:23:22 yf-mos-test-net14 kernel: [103406.865709] ---[ end trace
45a157a1f564e086 ]---



2017-12-27 10:54 GMT+08:00 Sam <batmanu...@gmail.com>:

>
> 2017-12-27 10:42 GMT+08:00 Sam <batmanu...@gmail.com>:
>
>> Hi all,
>>
>> I'm running OVS-DPDK on a two netdevice server(eth0 and eth1), and I use
>> sriov to make one VF and one PF on each netdevice, as bellow. Please omit
>> eth2 and eth3. Then two VF port(enp1s16 and enp1s16f1) combine into linux
>> bond1 port as management port, two PF port(:01:00.0 and :01:00.1)
>> combine into OVS-DPDK bon

Re: [ovs-dev] [sriov] [ixgbevf] We have to down PF and VF port to reconfig a port?

2017-12-26 Thread Sam
2017-12-27 10:42 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm running OVS-DPDK on a two netdevice server(eth0 and eth1), and I use
> sriov to make one VF and one PF on each netdevice, as bellow. Please omit
> eth2 and eth3. Then two VF port(enp1s16 and enp1s16f1) combine into linux
> bond1 port as management port, two PF port(:01:00.0 and :01:00.1)
> combine into OVS-DPDK bond port(mode 4) as dataplane port.
>
> [root@yf-mos-test-net14 ~]# /usr/local/share/openvswitch/scripts/dpdk_nic_bind
>> --status
>> Network devices using DPDK-compatible driver
>> 
>> :01:00.0 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio
>> unused=ixgbe
>> :01:00.1 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio
>> unused=ixgbe
>> Network devices using kernel driver
>> ===
>> :01:10.0 'X540 Ethernet Controller Virtual Function' if=enp1s16
>> drv=ixgbevf unused=igb_uio
>> :01:10.1 'X540 Ethernet Controller Virtual Function' if=enp1s16f1
>> drv=ixgbevf unused=igb_uio
>> :08:00.0 'I350 Gigabit Network Connection' if=eth2 drv=igb
>> unused=igb_uio
>> :08:00.1 'I350 Gigabit Network Connection' if=eth3 drv=igb
>> unused=igb_uio
>> Other network devices
>> =
>> 
>
>
> I change OVS-DPDK code, and use command to stop  OVS-DPDK bond port and
> its slaves, and then change its txconf and rxconf, and then start up them.
> But the kernel report "Detected Tx Unit Hang ..." and no packets could go
> through OVS-DPDK bond port and linux bond port, but use command to show
> OVS-DPDK port and linux bond port,
>
all status is NOT OK(LACP status not OK, I don't if it's because link error
or LACP packet process error).

>
> But when I stop linux bond port first, and then do the same process as
> above, no error report and packets could go through OVS-DPDK bond port and
> linux bond port.
>
> So what's this problem and how to fix it ? Thank you~
>
I want to make OVS-DPDK bond port could be stop/start/reconfig while
running. If others use some other way to do this, could you share it, thank
you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [sriov] [ixgbevf] We have to down PF and VF port to reconfig a port?

2017-12-26 Thread Sam
Hi all,

I'm running OVS-DPDK on a two netdevice server(eth0 and eth1), and I use
sriov to make one VF and one PF on each netdevice, as bellow. Please omit
eth2 and eth3. Then two VF port(enp1s16 and enp1s16f1) combine into linux
bond1 port as management port, two PF port(:01:00.0 and :01:00.1)
combine into OVS-DPDK bond port(mode 4) as dataplane port.

[root@yf-mos-test-net14 ~]#
> /usr/local/share/openvswitch/scripts/dpdk_nic_bind --status
> Network devices using DPDK-compatible driver
> 
> :01:00.0 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio
> unused=ixgbe
> :01:00.1 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio
> unused=ixgbe
> Network devices using kernel driver
> ===
> :01:10.0 'X540 Ethernet Controller Virtual Function' if=enp1s16
> drv=ixgbevf unused=igb_uio
> :01:10.1 'X540 Ethernet Controller Virtual Function' if=enp1s16f1
> drv=ixgbevf unused=igb_uio
> :08:00.0 'I350 Gigabit Network Connection' if=eth2 drv=igb
> unused=igb_uio
> :08:00.1 'I350 Gigabit Network Connection' if=eth3 drv=igb
> unused=igb_uio
> Other network devices
> =
> 


I change OVS-DPDK code, and use command to stop  OVS-DPDK bond port and its
slaves, and then change its txconf and rxconf, and then start up them. But
the kernel report "Detected Tx Unit Hang ..." and no packets could go
through OVS-DPDK bond port and linux bond port, but use command to show
OVS-DPDK port and linux bond port, all status is OK.

But when I stop linux bond port first, and then do the same process as
above, no error report and packets could go through OVS-DPDK bond port and
linux bond port.

So what's this problem and how to fix it ? Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] In ovs-2.4 version, why can't stop dpdk-bond port by `ovs-ofctl mod br dpdkbond DOWN`?

2017-11-27 Thread Sam
The "dev->port_id" is bond port id, should I use slave port id instead ?

2017-11-27 18:07 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm working in ovs 2.4 version, and I use "dpdkb" type netdev. Then I
> call  `ovs-ofctl mod br dpdkbond DOWN` to down this device, at last, my
> code call "rte_eth_dev_stop(dev->port_id);".
>
> But counter shows the port is still rx/tx, why?
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] In ovs-2.4 version, why can't stop dpdk-bond port by `ovs-ofctl mod br dpdkbond DOWN`?

2017-11-27 Thread Sam
Hi all,

I'm working in ovs 2.4 version, and I use "dpdkb" type netdev. Then I
call  `ovs-ofctl mod br dpdkbond DOWN` to down this device, at last, my
code call "rte_eth_dev_stop(dev->port_id);".

But counter shows the port is still rx/tx, why?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] Restore flows is slow using "ovs-save", is there someone who use RPC to speed up flow restore?

2017-11-23 Thread Sam
ovs-save is a shell script, using `ovs-ofctl dump-flows br` to write flows
into a file, and then use `ovs-ofctl add-flows br FILE` to add them.

2017-11-24 11:07 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm working on speed up ovs restart, I found that restore flows is slow
> when there are lots of flows, so I want to use RPC to store flows in
> another process, and then restore from it.
>
> Is there someone who have worked on this? could you share how faster after
> this change? Thank you~
>
> Or is there some other ways to speed up? Thank you~!
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Restore flows is slow using "ovs-save", is there someone who use RPC to speed up flow restore?

2017-11-23 Thread Sam
Hi all,

I'm working on speed up ovs restart, I found that restore flows is slow
when there are lots of flows, so I want to use RPC to store flows in
another process, and then restore from it.

Is there someone who have worked on this? could you share how faster after
this change? Thank you~

Or is there some other ways to speed up? Thank you~!
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Why I can't get max line speed using ovs-dpdk and vhost-user port?

2017-11-09 Thread Sam
Hi all,

I'm using ovs-dpdk with vhost-user port and 10 VM started by qemu, topology
is:

VM1  ~  VM10
  | |
-OVS
 |
  dpdk-bond

the start command of ovs-dpdk is:

root  8969  200  0.1 107748696 231284 ?S ovs-vswitchd --dpdk -c 0x40004 -n 4 --socket-mem 10240 --proc-type
> secondary -w :01:00.0 -w :01:00.1 --
> unix:/usr/local/var/run/openvswitch/db.sock --pidfile --detach --log-file
> --mlockall --no-chdir
> --log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log
> --pidfile=/usr/local/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor


qemu command is:

root 48635  0.9  0.0 3550624 94492 ?   Sl   Nov07  30:37
> /usr/local/bin/qemu-system-x86_64_2.6.0 -enable-kvm -cpu
> qemu64,+vmx,+ssse3,+sse4.1,+sse4.2,+x2apic,+aes,+avx,+vme,+pat,+ss,+pclmulqdq,+xsave,level=13
> -machine pc,accel=kvm -chardev
> socket,id=hmqmondev,port=55924,host=127.0.0.1,nodelay,server,nowait -mon
> chardev=hmqmondev,id=hmqmon,mode=readline -rtc
> base=utc,clock=host,driftfix=none -usb -device usb-tablet -daemonize
> -nodefaults -nodefconfig -no-kvm-pit-reinjection -global
> kvm-pit.lost_tick_policy=discard -vga std -k en-us -smp 8 -name
> gangyewei-35 -m 2048 -boot order=cdn -vnc :24,password -drive
> file=/opt/cloud/workspace/disks/0ce6db23-627c-475d-b7ff-36266ba9492a,if=none,id=drive_0,format=qcow2,cache=none,aio=native
> -device virtio-blk-pci,id=dev_drive_0,drive=drive_0,bus=pci.0,addr=0x5
> -drive
> file=/opt/cloud/workspace/disks/7f11a37e-28bb-4c54-b903-de2a5b28b284,if=none,id=drive_1,format=qcow2,cache=none,aio=native
> -device virtio-blk-pci,id=dev_drive_1,drive=drive_1,bus=pci.0,addr=0x6
> -drive
> file=/opt/cloud/workspace/disks/f2a7e4fb-c457-4e60-a147-18e4fadcb4dc,if=none,id=drive_2,format=qcow2,cache=none,aio=native
> -device virtio-blk-pci,id=dev_drive_2,drive=drive_2,bus=pci.0,addr=0x7
> -device ide-cd,drive=ide0-cd0,bus=ide.1,unit=1 -drive
> id=ide0-cd0,media=cdrom,if=none -chardev
> socket,id=char-n-650b42fe,path=/usr/local/var/run/openvswitch/n-650b42fe,server
> -netdev type=vhost-user,id=n-650b42fe,chardev=char-n-650b42fe,vhostforce=on
> -device
> virtio-net-pci,netdev=n-650b42fe,mac=00:22:65:0b:42:fe,id=netdev-n-650b42fe,addr=0xf
> -object memory-backend-file,id=mem,size=2048M,mem-path=/mnt/huge,share=on
> -numa node,memdev=mem -pidfile
> /opt/cloud/workspace/servers/a6d3bb5f-fc6c-4891-864c-a0d947d84867/pid
> -chardev
> socket,path=/opt/cloud/workspace/servers/a6d3bb5f-fc6c-4891-864c-a0d947d84867/qga.sock,server,nowait,id=qga0
> -device virtio-serial -device
> virtserialport,chardev=qga0,name=org.qemu.guest_agent.0


the interface between ovs-dpdk and qemu is  netdev=n-650b42fe, for ovs-dpdk
side, it's vhost-user type interface.

the dpdk-bond interface of ovs-dpdk is dpdk bond type.

Then I start 10 VM to send TCP packets using iperf3. I use 10Gbps
netdevice, but there are only about 5600Mbps through dpdk-bond port, why?
Is there someone who have testing of VM and ovs-dpdk bond port, and could
you please share the test report?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Please help me to debug memory mis-unmap in ovs-dpdk.

2017-11-01 Thread Sam
Hi all,

I'm debugging a mis-unmap bug in ovs-dpdk, process is this:

1. start ovs-dpdk with 10G socket memory, then use `top`, ovs-vswitchd take
10G memory. command is bellow.
2. start qemu vm1 with vhost device as server to connect port on ovs-dpdk,
command is bellow. qemu share 40G memory with ovs-dpdk, then use `top`,
ovs-vswitchd take 50G memory.
3. start qemu vm2 with vhost device as server to connect port on ovs-dpdk,
command is bellow. qemu share 20G memory with ovs-dpdk, then use `top`,
ovs-vswitchd take 70G memory.
4. stop vm1, then use `top`, ovs-vswitchd take 50G memory (I think it
should be 30G?). use `cat /proc/meminfo`, 70G memory is not released.

Please tell me where is the code ovs-dpdk and qemu communicate with each
other about the map/unmap memory region. Thank you~

Is it old bug? Refer this link:
http://dev.dpdk.narkive.com/m04py1jJ/dpdk-dev-vhost-user-technical-isssues


Command to start ovs-dpdk:
ovs-vswitchd --dpdk -c 0x14 -n 4 --socket-mem 10240 --proc-type secondary
-w :01:00.0 -w :01:00.1 --
unix:/usr/local/var/run/openvswitch/db.sock --pidfile --detach --log-file
--mlockall --no-chdir
--log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log
--pidfile=/usr/local/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor

Command to start qemu:
/usr/local/bin/qemu-system-x86_64 -enable-kvm -cpu
qemu64,+vmx,+ssse3,+sse4.1,+sse4.2,+x2apic,+aes,+avx,+vme,+pat,+ss,+pclmulqdq,+xsave,level=13
-machine pc,accel=kvm -chardev
socket,id=hmqmondev,port=55919,host=127.0.0.1,nodelay,server,nowait -mon
chardev=hmqmondev,id=hmqmon,mode=readline -rtc
base=utc,clock=host,driftfix=none -usb -device usb-tablet -daemonize
-nodefaults -nodefconfig -no-kvm-pit-reinjection -global
kvm-pit.lost_tick_policy=discard -vga std -k en-us -smp 1 -name
gangyewei-qemutime-07-1 -m 20480 -boot order=cdn -vnc :19,password -drive
file=/opt/cloud/workspace/disks/4a5148da-e34e-4c81-aada-12a247c0337e,if=none,id=drive_0,format=qcow2,cache=none,aio=native
-device virtio-blk-pci,id=dev_drive_0,drive=drive_0,bus=pci.0,addr=0x5
-drive
file=/opt/cloud/workspace/disks/08eb3f72-07ba-44e9-8ee9-4ab662dbbd1f,if=none,id=drive_1,format=qcow2,cache=none,aio=native
-device virtio-blk-pci,id=dev_drive_1,drive=drive_1,bus=pci.0,addr=0x6
-device ide-cd,drive=ide0-cd0,bus=ide.1,unit=1 -drive
id=ide0-cd0,media=cdrom,if=none -chardev
socket,id=char-n-f879ac2f,path=/usr/local/var/run/openvswitch/n-f879ac2f,server
-netdev type=vhost-user,id=n-f879ac2f,chardev=char-n-f879ac2f,vhostforce=on
-device
virtio-net-pci,netdev=n-f879ac2f,mac=00:22:f8:79:ac:2f,id=netdev-n-f879ac2f,addr=0xf,speed=1000
-object
memory-backend-file,id=mem,size=20480M,mem-path=/dev/hugepages,share=on
-mem-prealloc -numa node,memdev=mem -pidfile
/opt/cloud/workspace/servers/63ef2ec4-556f-47ea-93e0-23089bb59be5/pid
-chardev
socket,path=/opt/cloud/workspace/servers/63ef2ec4-556f-47ea-93e0-23089bb59be5/qga.sock,server,nowait,id=qga0
-device virtio-serial -device
virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 -qmp
unix:/opt/cloud/workspace/servers/63ef2ec4-556f-47ea-93e0-23089bb59be5/qmp.sock,server,nowait

Process:
[gangyewei@yf-mos-test-net07 63ef2ec4-556f-47ea-93e0-23089bb59be5]$ top
  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
38470 root  10 -10 79.751g 223160  10636 S 200.0  0.2  58:26.77
ovs-vswitchd
 4575 root  20   0 41.338g  90036   2924 S   0.0  0.1   0:21.71
qemu-system-x86
 5914 root  20   0 20.652g  66824   2876 S   0.0  0.1   0:11.90
qemu-system-x86

[gangyewei@yf-mos-test-net07 63ef2ec4-556f-47ea-93e0-23089bb59be5]$ cd
../46c035e2-605c-4997-b4df-15d13f97758f
[gangyewei@yf-mos-test-net07 46c035e2-605c-4997-b4df-15d13f97758f]$ sudo sh
stopvm
Remove PID
/opt/cloud/workspace/servers/46c035e2-605c-4997-b4df-15d13f97758f/pid
Remove VNC
/opt/cloud/workspace/servers/46c035e2-605c-4997-b4df-15d13f97758f/vnc
[gangyewei@yf-mos-test-net07 46c035e2-605c-4997-b4df-15d13f97758f]$ top
  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
38470 root  10 -10 55.751g 223160  10636 S 200.3  0.2  59:30.31
ovs-vswitchd
 5914 root  20   0 20.652g  66824   2876 S   0.0  0.1   0:11.92
qemu-system-x86

[gangyewei@yf-mos-test-net07 46c035e2-605c-4997-b4df-15d13f97758f]$ cat
/proc/meminfo
HugePages_Total: 112
HugePages_Free:   42
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [ovs-dpdk bug] Failing to release memory when QEMU exits?

2017-10-30 Thread Sam
add dpdk

2017-10-31 10:43 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I found in ovs-dpdk it is failing to release memory when QEMU exits. Is
> this a clear bug in ovs-dpdk? If it is, when did this bug fixed? Detail is
> bellow:
>
>
> For qemu-2.6.0 and ovs-dpdk, in huge page (1G) environment, after kill the
> qemu process, memory which is alloc for the vm could not be released.
>
> The start up command is:
>
> CMD1="$QEMU_CMD -D qemu.log -trace events=qemu-events-all -enable-kvm -cpu
> qemu64,+vmx,+ssse3,+sse4.1,+sse4.2,+x2apic,+aes,+avx,+vme,+p
> at,+ss,+pclmulqdq,+xsave,level=13 -machine pc,accel=kvm -chardev
> socket,id=hmqmondev,port=55908,host=127.0.0.1,nodelay,server,nowait -mon
> chardev=hmqmondev,id=hmqmon,mode=readline -rtc
> base=utc,clock=host,driftfix=none -usb -device usb-tablet -daemonize
> -nodefaults -nodefconfig -no-kvm-pit-reinjection -global
> kvm-pit.lost_tick_policy=discard -vga std -k en-us -smp 8 -name
> gangyewei-qemutime-1 -m 40960 -boot order=cdn -vnc :8,password -drive
> file=$DISK_0,if=none,id=drive_0,format=qcow2,cache=none,aio=native
> -device virtio-blk-pci,id=dev_drive_0,drive=drive_0,bus=pci.0,addr=0x5
> -drive file=$DISK_1,if=none,id=drive_1,format=qcow2,cache=none,aio=native
> -device virtio-blk-pci,id=dev_drive_1,drive=drive_1,bus=pci.0,addr=0x6
> -drive file=$DISK_2,if=none,id=drive_2,format=qcow2,cache=none,aio=native
> -device virtio-blk-pci,id=dev_drive_2,drive=drive_2,bus=pci.0,addr=0x7
> -device ide-cd,drive=ide0-cd0,bus=ide.1,unit=1 -drive
> id=ide0-cd0,media=cdrom,if=none -chardev socket,id=char-n-52b49b80,path
> =/usr/local/var/run/openvswitch/n-52b49b80,server -netdev
> type=vhost-user,id=n-52b49b80,chardev=char-n-52b49b80,vhostforce=on
> -device virtio-net-pci,netdev=n-52b49b80,mac=00:22:52:b4:9b:80,id=ne
> tdev-n-52b49b80,addr=0xf$(nic_speed 1) -object
> memory-backend-file,id=mem,size=40960M,mem-path=/mnt/huge,share=on -numa
> node,memdev=mem -pidfile $PID_FILE -chardev socket,path=/opt/cloud/workspa
> ce/servers/4511f52a-f450-40d3-9417-a1e0a27ed507/qga.sock,server,nowait,id=qga0
> -device virtio-serial -device virtserialport,chardev=qga0,na
> me=org.qemu.guest_agent.0"
>
> The stop script is just kill this process.
>
> the result of `cat /proc/meminfo` show memory is still there.
>
> After restart ovs-dpdk(which is openvswitch with dpdk lib), memory is
> released.
>
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [ovs-dpdk bug] Failing to release memory when QEMU exits?

2017-10-30 Thread Sam
Hi all,

I found in ovs-dpdk it is failing to release memory when QEMU exits. Is
this a clear bug in ovs-dpdk? If it is, when did this bug fixed? Detail is
bellow:


For qemu-2.6.0 and ovs-dpdk, in huge page (1G) environment, after kill the
qemu process, memory which is alloc for the vm could not be released.

The start up command is:

CMD1="$QEMU_CMD -D qemu.log -trace events=qemu-events-all -enable-kvm -cpu
qemu64,+vmx,+ssse3,+sse4.1,+sse4.2,+x2apic,+aes,+avx,+vme,+
pat,+ss,+pclmulqdq,+xsave,level=13 -machine pc,accel=kvm -chardev
socket,id=hmqmondev,port=55908,host=127.0.0.1,nodelay,server,nowait -mon
chardev=hmqmondev,id=hmqmon,mode=readline -rtc
base=utc,clock=host,driftfix=none -usb -device usb-tablet -daemonize
-nodefaults -nodefconfig -no-kvm-pit-reinjection -global
kvm-pit.lost_tick_policy=discard -vga std -k en-us -smp 8 -name
gangyewei-qemutime-1 -m 40960 -boot order=cdn -vnc :8,password -drive
file=$DISK_0,if=none,id=drive_0,format=qcow2,cache=none,aio=native -device
virtio-blk-pci,id=dev_drive_0,drive=drive_0,bus=pci.0,addr=0x5 -drive
file=$DISK_1,if=none,id=drive_1,format=qcow2,cache=none,aio=native -device
virtio-blk-pci,id=dev_drive_1,drive=drive_1,bus=pci.0,addr=0x6 -drive
file=$DISK_2,if=none,id=drive_2,format=qcow2,cache=none,aio=native -device
virtio-blk-pci,id=dev_drive_2,drive=drive_2,bus=pci.0,addr=0x7 -device
ide-cd,drive=ide0-cd0,bus=ide.1,unit=1 -drive id=ide0-cd0,media=cdrom,if=none
-chardev 
socket,id=char-n-52b49b80,path=/usr/local/var/run/openvswitch/n-52b49b80,server
-netdev type=vhost-user,id=n-52b49b80,chardev=char-n-52b49b80,vhostforce=on
-device virtio-net-pci,netdev=n-52b49b80,mac=00:22:52:b4:9b:80,id=
netdev-n-52b49b80,addr=0xf$(nic_speed 1) -object
memory-backend-file,id=mem,size=40960M,mem-path=/mnt/huge,share=on -numa
node,memdev=mem -pidfile $PID_FILE -chardev socket,path=/opt/cloud/workspa
ce/servers/4511f52a-f450-40d3-9417-a1e0a27ed507/qga.sock,server,nowait,id=qga0
-device virtio-serial -device virtserialport,chardev=qga0,na
me=org.qemu.guest_agent.0"

The stop script is just kill this process.

the result of `cat /proc/meminfo` show memory is still there.

After restart ovs-dpdk(which is openvswitch with dpdk lib), memory is
released.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] how to run script in *.at file in tests folder?

2017-08-23 Thread Sam
Hi all,

I'm testing, I add a new at file, and in that file, I run another shell
script like this:

AT_SETUP([vhost - run prepare-env.sh])
> #OVS_VSWITCHD_START
> # No need to create, as bond1 has been created.
> echo "@"
> /root/gangyewei/mvs/mvs/tests/prepare-env.sh
> AT_CHECK([echo ""])
> AT_CHECK([/root/gangyewei/mvs/mvs/tests/prepare_env], [0], [stdout])
> #OVS_VSWITCHD_STOP
> AT_CLEANUP


I use root to run the tests, But the log show me permission error, how to
fix this bug and how to run shell script in at file?

# -*- compilation -*-
> 1. vhost.at:23: testing vhost - run prepare-env.sh ...
> @
> /root/gangyewei/mvs/mvs/tests/testsuite.dir/at-groups/1/test-source: line
> 12: /root/gangyewei/mvs/mvs/tests/prepare-env.sh: Permission denied
> ./vhost.at:30: echo ""
> --- /dev/null   2017-02-21 23:39:22.88249 +0800
> +++ /root/gangyewei/mvs/mvs/tests/testsuite.dir/at-groups/1/stdout
>  2017-08-23 15:43:29.348993538 +0800
> @@ -0,0 +1 @@
> +
> 1. vhost.at:23: 1. vhost - run prepare-env.sh (vhost.at:23): FAILED (
> vhost.at:30)


Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] Can I use dummy-type bridge together with netdev-type bridge for test?

2017-08-21 Thread Sam
So if I want to debug netdev-type bridge(which is ovs-dpdk bridge), is
there some commands like `ovs-appctl dummy/receive ...` on internal port?
Or can I code a command like this on internal port?

2017-08-22 1:12 GMT+08:00 Ben Pfaff <b...@ovn.org>:

> On Mon, Aug 21, 2017 at 04:20:42PM +0800, Sam wrote:
> > I want to test dpdk based bridge, which is bridge in netdev type
> datapath,
> > but in this mode I could not use dummy port (As dummy port could send
> > packet directly, and lots of ovs test cases use this port, so I want to
> use
> > it).
> >
> > So I start ovs with dpdk option and dummy option, and then create two
> > bridge (one is dummy type, one is netdev), and use patch port to connect
> > them, and add normal flow to them.
> >
> > But when I send packets use `ovs-appctl dummy/receive ...` into
> dummy-type
> > bridge, the netdev-type bridge could not receive packet and also could
> not
> > send this packet from other port (dummy-type port, patch type port and
> > netdev-type port are all link up).
>
> OVS doesn't support packets traveling between different types of
> datapaths (e.g. dpdk vs dummy).
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Why 'OVS_VSWITCHD_STOP' do not run?

2017-08-17 Thread Sam
Hi all,

I'm running my ovs test case(my-test.at) like this, but when
'OVS_VSWITCHD_START'  or other AT_CHECK failed, 'OVS_VSWITCHD_STOP' will
not run, why and how to fix this to let 'OVS_VSWITCHD_STOP' run anyway.

Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] How to refresh test cases in tests folder?

2017-08-17 Thread Sam
I have to ./boot.sh, then the test case will refresh

2017-08-18 9:17 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm running my test cases, I define a new macro in ofproto-macro.at like
> this;
>
> m4_define([_OVS_VSWITCHD_START],
>>   [OVS_RUNDIR=/usr/local/var/run/openvswitch; export OVS_RUNDIR
>>OVS_LOGDIR=/usr/local/var/log/openvswitch; export OVS_LOGDIR
>>OVS_DBDIR=/usr/local/var/run/openvswitch; export OVS_DBDIR
>>dnl  OVS_SYSCONFDIR=; export OVS_SYSCONFDIR
>>/etc/init.d/openvswitch stop
>>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | grep
>> "Killing ovsdb-server"])
>>/etc/init.d/openvswitch start
>>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | \
>> grep "Enabling remote OVSDB managers."])
>> ])
>
>
> And this got wrong, so I change it into this:
>
> m4_define([_OVS_VSWITCHD_START],
>>   [OVS_RUNDIR=/usr/local/var/run/openvswitch; export OVS_RUNDIR
>>OVS_LOGDIR=/usr/local/var/log/openvswitch; export OVS_LOGDIR
>>OVS_DBDIR=/usr/local/var/run/openvswitch; export OVS_DBDIR
>>dnl  OVS_SYSCONFDIR=; export OVS_SYSCONFDIR
>>/etc/init.d/openvswitch stop
>>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | \
>> grep "Killing ovsdb-server"])
>>/etc/init.d/openvswitch start
>>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | \
>> grep "Enabling remote OVSDB managers."])
>> ])
>
>
> But after I reconfigure the ovs, and run `make check`, I got same error as
> first, which is :
>
> /home/gangyewei-3/mvs/mvs/tests/testsuite.dir/at-groups/1/test-source:
>> line 41: Enabling remote OVSDB managers.: command not found
>> stdout:
>> ./netdev-dpdk.at:24: exit code was 1, expected 0
>
>
> I think this is because the bug of first code, but I have change it into
> 2nd code, I don't know why still got error, or I have to re-run `boot.sh`
> in OVS folder to re-construct test cases?
>
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] How to refresh test cases in tests folder?

2017-08-17 Thread Sam
Hi all,

I'm running my test cases, I define a new macro in ofproto-macro.at like
this;

m4_define([_OVS_VSWITCHD_START],
>   [OVS_RUNDIR=/usr/local/var/run/openvswitch; export OVS_RUNDIR
>OVS_LOGDIR=/usr/local/var/log/openvswitch; export OVS_LOGDIR
>OVS_DBDIR=/usr/local/var/run/openvswitch; export OVS_DBDIR
>dnl  OVS_SYSCONFDIR=; export OVS_SYSCONFDIR
>/etc/init.d/openvswitch stop
>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | grep
> "Killing ovsdb-server"])
>/etc/init.d/openvswitch start
>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | \
> grep "Enabling remote OVSDB managers."])
> ])


And this got wrong, so I change it into this:

m4_define([_OVS_VSWITCHD_START],
>   [OVS_RUNDIR=/usr/local/var/run/openvswitch; export OVS_RUNDIR
>OVS_LOGDIR=/usr/local/var/log/openvswitch; export OVS_LOGDIR
>OVS_DBDIR=/usr/local/var/run/openvswitch; export OVS_DBDIR
>dnl  OVS_SYSCONFDIR=; export OVS_SYSCONFDIR
>/etc/init.d/openvswitch stop
>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | \
> grep "Killing ovsdb-server"])
>/etc/init.d/openvswitch start
>OVS_WAIT_UNTIL([tail -n 3 $OVS_LOGDIR/ovs-ctl.log | \
> grep "Enabling remote OVSDB managers."])
> ])


But after I reconfigure the ovs, and run `make check`, I got same error as
first, which is :

/home/gangyewei-3/mvs/mvs/tests/testsuite.dir/at-groups/1/test-source: line
> 41: Enabling remote OVSDB managers.: command not found
> stdout:
> ./netdev-dpdk.at:24: exit code was 1, expected 0


I think this is because the bug of first code, but I have change it into
2nd code, I don't know why still got error, or I have to re-run `boot.sh`
in OVS folder to re-construct test cases?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [ovs-dpdk-tests] where is ovs-dpdk test case?

2017-08-17 Thread Sam
Hi all,

I'm working with ovs-dpdk, I want to run ovs-dpdk test case. But I found
there is no test case for 'netdev' type bridge and no test case for
ovs-dpdk datapath(which is pmd_thread_main).

So my question is where could I find these test cases?

Also I change some code in dpdk-vhost client mode, how could I find test
case for this module?

Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] Why my AT_CHECK() can't work?

2017-08-09 Thread Sam
Then I change commd into `awk '/ACTIVE/' stdout | head -4`, it failed
again, log is :

./netdev-dpdk.at:28: awk '/ACTIVE/' stdout | head -4
> --- -   2017-08-09 17:41:24.809066088 +0800
> +++ /home/gangyewei-3/mvs/mvs/tests/testsuite.dir/at-groups/789/stdout
>  2017-08-09 17:41:24.807150522 +0800
> @@ -1,5 +1,5 @@
> -LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> - partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> -LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> - partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> +LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> + partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> +LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> + partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> 789. netdev-dpdk.at:23: 789. netdev-dpdk - dpdk/bond-show (
> netdev-dpdk.at:23): FAILED (netdev-dpdk.at:28)


I don't know where is the difference

2017-08-09 17:15 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm using autotest to test ovs, and I write a new *.at file using only one
> AT_CHECK sentence like this:
>
> AT_CHECK([ovs-appctl dpdk/bond-show dpdkb2], [0], [stdout])
>> AT_CHECK([[sed '/ACTIVE/p' stdout | head -4]], [0], [[LACP actor_state
>> ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING]])
>
>
> but this *.at file failed, log is:
>
> 789. netdev-dpdk.at:23: testing netdev-dpdk - dpdk/bond-show ...
>> ./netdev-dpdk.at:27: ovs-appctl dpdk/bond-show dpdkb2
>> stdout:
>>  dpdkb2 
>> bond_mode: 4
>> slave 0:
>> active
>> mac address ec:f4:bb:e1:1a:40
>> Link Up - speed 1 Mbps - full-duplex
>> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  rx pkts=268449, bytes=16502449, mcasts=0, drop=0, errs=0, nombufs=0
>>  tx pkts=261, bytes=32020, errs=0
>> slave 1:
>> active
>> mac address ec:f4:bb:e1:1a:42
>> Link Up - speed 1 Mbps - full-duplex
>> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  rx pkts=296190, bytes=17934647, mcasts=0, drop=0, errs=0, nombufs=0
>>  tx pkts=254, bytes=31496, errs=0
>> ./netdev-dpdk.at:28: sed '/ACTIVE/p' stdout | head -4
>> --- -   2017-08-09 16:59:18.802810195 +0800
>> +++ /home/gangyewei-3/mvs/mvs/tests/testsuite.dir/at-groups/789/stdout
>>  2017-08-09 16:59:18.801176471 +0800
>> @@ -1,4 +1,5 @@
>> -LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> - partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> -LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> - partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> + dpdkb2 
>> +bond_mode: 4
>> +
>> +slave 0:
>> +
>> 789. netdev-dpdk.at:23: 789. netdev-dpdk - dpdk/bond-show (
>> netdev-dpdk.at:23): FAILED (netdev-dpdk.at:28)
>
>
> 1. I don't know what "+" "-" means, and why there are "+" and "-"?
> 2. I run `ovs-appctl dpdk/bond-show dpdkb2 | sed -n '/ACTIVE/p' | head
> -4`, result is:
>
>> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>
> That's exactly what I matched in AT_CHECK, why it fails?
>
> Autotest is really hard to use...
>
>
2017-08-09 17:23 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm using autotest to test ovs, and I write a new *.at file using only one
> AT_CHECK sentence like this:
>
> AT_CHECK([ovs-appctl dpdk/bond-show dpdkb2], [0], [stdout])
>> AT_CHECK([[sed '/ACTIVE/p' stdout | head -4]], [0], [[LACP actor_state
>> ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING]])
>
>
> but this *.at file failed, log is:
>
> 789. netdev-dpdk.at:23: testing netdev-dpdk - dpdk/bond-show ...
>> ./netdev-dpdk.at:27: ovs-appctl dpdk/bond-show dpdkb2
>> 

[ovs-dev] Why my AT_CHECK() can't work?

2017-08-09 Thread Sam
Hi all,

I'm using autotest to test ovs, and I write a new *.at file using only one
AT_CHECK sentence like this:

AT_CHECK([ovs-appctl dpdk/bond-show dpdkb2], [0], [stdout])
> AT_CHECK([[sed '/ACTIVE/p' stdout | head -4]], [0], [[LACP actor_state
> ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING]])


but this *.at file failed, log is:

789. netdev-dpdk.at:23: testing netdev-dpdk - dpdk/bond-show ...
> ./netdev-dpdk.at:27: ovs-appctl dpdk/bond-show dpdkb2
> stdout:
>  dpdkb2 
> bond_mode: 4
> slave 0:
> active
> mac address ec:f4:bb:e1:1a:40
> Link Up - speed 1 Mbps - full-duplex
> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  rx pkts=268449, bytes=16502449, mcasts=0, drop=0, errs=0, nombufs=0
>  tx pkts=261, bytes=32020, errs=0
> slave 1:
> active
> mac address ec:f4:bb:e1:1a:42
> Link Up - speed 1 Mbps - full-duplex
> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  rx pkts=296190, bytes=17934647, mcasts=0, drop=0, errs=0, nombufs=0
>  tx pkts=254, bytes=31496, errs=0
> ./netdev-dpdk.at:28: sed '/ACTIVE/p' stdout | head -4
> --- -   2017-08-09 16:59:18.802810195 +0800
> +++ /home/gangyewei-3/mvs/mvs/tests/testsuite.dir/at-groups/789/stdout
>  2017-08-09 16:59:18.801176471 +0800
> @@ -1,4 +1,5 @@
> -LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> - partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> -LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> - partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> + dpdkb2 
> +bond_mode: 4
> +
> +slave 0:
> +
> 789. netdev-dpdk.at:23: 789. netdev-dpdk - dpdk/bond-show (
> netdev-dpdk.at:23): FAILED (netdev-dpdk.at:28)


1. I don't know what "+" "-" means, and why there are "+" and "-"?
2. I run `ovs-appctl dpdk/bond-show dpdkb2 | sed -n '/ACTIVE/p' | head -4`
in command line, result is:

> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
> LACP actor_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING
>  partner_state ACTIVE AGGREGATION SYNC COLLECTING DISTRIBUTING

That's exactly what I matched in AT_CHECK, why it fails?

Autotest is really hard to use...
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [ovs-tests] Questions about ovs tests

2017-08-07 Thread Sam
For example, in tests/dpif-netdev.at file, there are

OVS_VSWITCHD_START(
>   [add-port br0 p1 -- set interface p1 type=dummy
> options:pstream=punix:$OVS_RUNDIR/p0.sock ofport_request=1 -- \
>add-port br0 p7 -- set interface p7 ofport_request=7 type=dummy -- \
>add-br br1 -- \
>set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- \
>set bridge br1 datapath-type=dummy other-config:datapath-id=1234 \
>   fail-mode=secure -- \
>add-port br1 p2 -- set interface p2 type=dummy
> options:stream=unix:$OVS_RUNDIR/p0.sock ofport_request=2 -- \
>add-port br1 p8 -- set interface p8 ofport_request=8 type=dummy --])


if no vswitchd started, `add-port` will failed.

2017-08-08 10:03 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm working on ovs tests, and I want to add my test, so I have few
> questions:
>
> 1. what testing frame work does ovs-tests use, as I have seen lots of *.at
> file, lots of AT_*() macro.
>
> 2. Will ovs-tests start ovs-vswitchd or ovsdb-server when running test by
> `make check` command? As if no vswitchd started, how to test it?
>
> 3. Also there are *.py files, how it works?
>
> Thank you~
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [ovs-tests] Questions about ovs tests

2017-08-07 Thread Sam
Hi all,

I'm working on ovs tests, and I want to add my test, so I have few
questions:

1. what testing frame work does ovs-tests use, as I have seen lots of *.at
file, lots of AT_*() macro.

2. Will ovs-tests start ovs-vswitchd or ovsdb-server when running test by
`make check` command? As if no vswitchd started, how to test it?

3. Also there are *.py files, how it works?

Thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] When did vlan tag add into packet in ovs and ovs-dpdk?

2017-07-13 Thread Sam
Sorry, Add a question:

3. I start to capture packets in b2 port on br_t07, when I use vm(121) to
ping vm(120), I could not capture any packets(including arp); when I use
vm(121) to ping vm(220), I could capture it; when I use vm(121) to ping
unknown host like 123, I could not capture any thing.
Why no thing when I ping unknown host?

2017-07-14 9:46 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm testing vlan in both ovs and ovs-dpdk. My topology is:
>
> vm(121) vm(120)   vm(220)
> |  |   |
>---
>  --
>br_t07| b2   b2 |  br_t08
> --
>
> I set vlan 1020 by `ovs-vsctl set vm121 tag 1020` in br_t07's vm(121) port
> and vm(120) port, so the vm(121) could ping through vm(120).
>
> I set no vlan tag on vm(220), so vm(121) could not ping through vm(220).
>
> For normal ovs, vm(121) etc port is internal type, b2 is bond port; for
> ovs-dpdk it's dpdkvhostuser type, b2 is dpdk bond port.
>
> Now I use ovs-dump tool to capture packets in br_t07's b2, and I can's
> capture packets with vlan 1020 tag; and I use gdb to debug, also I can't
> get it.
>
> My question is:
> 1. In normal ovs, where or which function is to add vlan tag onto packet?
> I think it's in datapath?
> 2. This is important, in ovs-dpdk, where or which function is to add vlan
> tag onto packet? I think it's in pmd?
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] When did vlan tag add into packet in ovs and ovs-dpdk?

2017-07-13 Thread Sam
For hardware switch, a port with vlan 1020, it's behavior is:

1. packet come into port will set vlan tag 1020 in switch, and then send it.
2. only packet with vlan 1020 will come out from this port.

So I don't know if ovs works like this?

2017-07-14 9:46 GMT+08:00 Sam <batmanu...@gmail.com>:

> Hi all,
>
> I'm testing vlan in both ovs and ovs-dpdk. My topology is:
>
> vm(121) vm(120)   vm(220)
> |  |   |
>---
>  --
>br_t07| b2   b2 |  br_t08
> --
>
> I set vlan 1020 by `ovs-vsctl set vm121 tag 1020` in br_t07's vm(121) port
> and vm(120) port, so the vm(121) could ping through vm(120).
>
> I set no vlan tag on vm(220), so vm(121) could not ping through vm(220).
>
> For normal ovs, vm(121) etc port is internal type, b2 is bond port; for
> ovs-dpdk it's dpdkvhostuser type, b2 is dpdk bond port.
>
> Now I use ovs-dump tool to capture packets in br_t07's b2, and I can's
> capture packets with vlan 1020 tag; and I use gdb to debug, also I can't
> get it.
>
> My question is:
> 1. In normal ovs, where or which function is to add vlan tag onto packet?
> I think it's in datapath?
> 2. This is important, in ovs-dpdk, where or which function is to add vlan
> tag onto packet? I think it's in pmd?
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] When did vlan tag add into packet in ovs and ovs-dpdk?

2017-07-13 Thread Sam
Hi all,

I'm testing vlan in both ovs and ovs-dpdk. My topology is:

vm(121) vm(120)   vm(220)
|  |   |
   -----
   br_t07| b2   b2 |  br_t08
--

I set vlan 1020 by `ovs-vsctl set vm121 tag 1020` in br_t07's vm(121) port
and vm(120) port, so the vm(121) could ping through vm(120).

I set no vlan tag on vm(220), so vm(121) could not ping through vm(220).

For normal ovs, vm(121) etc port is internal type, b2 is bond port; for
ovs-dpdk it's dpdkvhostuser type, b2 is dpdk bond port.

Now I use ovs-dump tool to capture packets in br_t07's b2, and I can's
capture packets with vlan 1020 tag; and I use gdb to debug, also I can't
get it.

My question is:
1. In normal ovs, where or which function is to add vlan tag onto packet? I
think it's in datapath?
2. This is important, in ovs-dpdk, where or which function is to add vlan
tag onto packet? I think it's in pmd?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] how to get packet information in ovs-dpdk?

2017-07-13 Thread Sam
Yes it is.

I'm also confused, as when I use normal kernel based ovs-2.3.0, `ovs-ofctl
snoop br0` works good and will not quit.

2017-07-12 23:24 GMT+08:00 Ben Pfaff <b...@ovn.org>:

> On Wed, Jul 12, 2017 at 04:21:04PM +0800, Sam wrote:
> > hi all,
> >
> > I'm running ovs-dpdk(ovs-2.4.9), I found the counter of bond port of br_t
> > is increasing, but I want to know what's these packets, how could I do
> this?
> >
> > first, I use `ovs-ofctl snoop br_t`, but it quit quickly as below:
> >
> > > [root@yf-mos-test-net07 ~]# /usr/local/bin/ovs-ofctl snoop
> > > /usr/local/var/run/openvswitch/br_t.mgmt
> > > [root@yf-mos-test-net07 ~]# /usr/local/bin/ovs-ofctl snoop
> > > /usr/local/var/run/openvswitch/br_t.mgmt
> > > ovs-ofctl: /usr/local/var/run/openvswitch/ovs-ofctl.pid: already
> running
> > > as pid 22082, aborting
>
> That is a strange message.  It should only appear if you use --pidfile
> and --daemon and there's already an ovs-ofctl running that way.  Is the
> above the complete context from your session?
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] how to get packet information in ovs-dpdk?

2017-07-12 Thread Sam
hi all,

I'm running ovs-dpdk(ovs-2.4.9), I found the counter of bond port of br_t
is increasing, but I want to know what's these packets, how could I do this?

first, I use `ovs-ofctl snoop br_t`, but it quit quickly as below:

> [root@yf-mos-test-net07 ~]# /usr/local/bin/ovs-ofctl snoop
> /usr/local/var/run/openvswitch/br_t.mgmt
> [root@yf-mos-test-net07 ~]# /usr/local/bin/ovs-ofctl snoop
> /usr/local/var/run/openvswitch/br_t.mgmt
> ovs-ofctl: /usr/local/var/run/openvswitch/ovs-ofctl.pid: already running
> as pid 22082, aborting


Then I debug ovs-vswitchd use `gdb -p 213214` and set break as below:

> Breakpoint 3, netdev_rxq_recv (rx=0x7f1a5a6ff2c0, buffers=0x7f25e17f9880,
> cnt=0x7f25e17f987c) at lib/netdev.c:695
> 695retval = rx->netdev->netdev_class->rxq_recv(rx, buffers, cnt);
> (gdb) finish
> Run till exit from #0  netdev_rxq_recv (rx=0x7f1a5a6ff2c0,
> buffers=0x7f25e17f9880, cnt=0x7f25e17f987c)
> at lib/netdev.c:695
> 0x0055eeec in dp_netdev_process_rxq_port (pmd=0x7f25e80d7010,
> port=0x1059fd0, rxq=0x7f1a5a6ff2c0)
> at lib/dpif-netdev.c:2590
> 2590error = netdev_rxq_recv(rxq, packets, );
> Value returned is $5 = 11
> (gdb) p packet
> No symbol "packet" in current context.
> (gdb) p p^CQuit
> (gdb) p cnt
> $6 = 0
> (gdb) d
> Delete all breakpoints? (y or n) y
> (gdb) b 2593 if cnt!=0
> Breakpoint 4 at 0x55ef27: file lib/dpif-netdev.c, line 2593.
> (gdb) c

but cnt is still 0, which means no packets received.

At last, I use `ovs-appctl vlog/set dpif_netdev dbg`, but the log show
nothing.

How could I do this? thank you~
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Does ovs-dpdk support QoS on dpdkvhostuser port and other port?

2017-06-11 Thread Sam
Hi, all

Does ovs-dpdk support QoS on dpdkvhostuser port and other port, just like
'HTB' for kernel based ovs port?

Or will ovs-dpdk support this?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev