Hi,
I used two machines and tried to talk to each other using user-space ovs
(ovs-dpdk, ovs-2.7 and dpdk-16.11.1) via VxLAN.
I sent packets from process A (source) in physical machine A to another
process B (destination) in physical machine B.
I used DPDKR interface to send packets from process A and receive them in
process B.
So, a packet goes through DPDKR from process A -> VxLAN -> BR0 ->
DPDK0/ETH0 in host A.
However, after running it for some minutes, process A (source) stopped
sending packets to process B (destination).
After debugging it, it turned out it did not return mbufs in mempool, which
got from "rte_mempool_get_bulk() function in DPDKR bound to the process A.
So, when process A sent packets which are the same as "mempool" size
defined in OVS-DPDK to process B in physical machine B, it stopped sending.
I am suspecting that in the paths (DPDKR -> VxLAN -> BR0 -> DPDK0/ETH0) in
physical machine A it did not call "rte_mempool_put_bulk()" function even
though it should obviously be called.
This is my setup in physical machine A.
$ sudo ovs-vsctl show
80492b54-7d7d-4318-a1fc-1f84d6740ffe
Bridge "br0"
Controller "tcp:10.1.2.4"
is_connected: true
fail_mode: secure
Port "dpdkr4"
Interface "dpdkr4"
type: dpdkr
Port "dpdkr12"
Interface "dpdkr12"
type: dpdkr
Port "dpdkr8"
Interface "dpdkr8"
type: dpdkr
* Port "dpdkr1"*
* Interface "dpdkr1"*
* type: dpdkr*
Port "dpdkr13"
Interface "dpdkr13"
type: dpdkr
Port "dpdkr3"
Interface "dpdkr3"
type: dpdkr
Port "dpdkr10"
Interface "dpdkr10"
type: dpdkr
Port "dpdkr7"
Interface "dpdkr7"
type: dpdkr
Port "dpdkr9"
Interface "dpdkr9"
type: dpdkr
Port "dpdkr2"
Interface "dpdkr2"
type: dpdkr
Port "dpdkr11"
Interface "dpdkr11"
type: dpdkr
* Port "br0"*
* Interface "br0"*
* type: internal*
Port "dpdkr5"
Interface "dpdkr5"
type: dpdkr
Port "dpdkr6"
Interface "dpdkr6"
type: dpdkr
* Port "dpdk0"*
* Interface "dpdk0"*
* type: dpdk*
* options: {dpdk-devargs="0000:06:00.0"}*
* Port "vxlan0"*
* Interface "vxlan0"*
* type: vxlan*
* options: {remote_ip=flow}*
This is dump of flow rules.
# OF flow dump
# port 1 : DPDKR
# port 14 : VxLAN
# port 15 : ETH0
# port LOCAL : BR0
cookie=0x0, duration=346.979s, table=0, n_packets=114, n_bytes=17328,
idle_age=0, priority=1,in_port=LOCAL actions=output:15
cookie=0x1, duration=346.644s, table=0, n_packets=115, n_bytes=11730,
idle_timeout=600, idle_age=0, priority=1,in_port=1,dl_dst=00:00:00:00:00:00
actions=load:0xa010106->NXM_NX_TUN_IPV4_DST[],output:14
# EMC flow dump
recirc_id(0),in_port(2),eth(src=00:00:00:00:00:02,dst=00:00:00:00:00:00),eth_type(0xffff),
packets:114, bytes:11628, used:0.966s, actions:tnl_push(tnl_port(15),
header(size=50,type=4,eth(dst=3c:fd:fe:04:90:20,src=3c:fd:fe
:05:85:40,dl_type=0x0800),ipv4(src=10.1.1.5,dst=10.1.1.6,
proto=17,tos=0,ttl=64,frag=0x4000),udp(src=0,dst=4789,csum=
0x0),vxlan(flags=0x8000000,vni=0x0)),out_port(1))
recirc_id(0),in_port(1),eth(src=3c:fd:fe:05:85:40,dst=3c:fd:
fe:04:90:20),eth_type(0x0800),ipv4(src=10.1.1.5/255.255.254.0,dst=
10.1.1.6/255.255.254.0,proto=17,frag=no),udp(src=33705/0x8000),
packets:113, bytes:17176, used:0.966s, actions:16
Please let me know if you have any insights.
Thanks in advance.
Junguk
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss