On 05.07.2011 21:04, Sébastien Riccio wrote:

On 05.07.2011 20:46, Justin Pettit wrote:
Most of the packet processing intelligence happens in user-space, and the kernel module maintains a cache of the active flows. Flows are expired from the cache after five seconds of inactivity. My guess is that there is some sort of delay in the user-space processing. I have not heard of such a long delay. Are you running an off-box controller through OpenFlow? Is there a lot of load that is preventing ovs-vswitchd from running? What is the output of "ovs-vsctl list bridge" and "ovs-ofctl dump-flows<br>" for the various bridges?

--Justin


On Jul 5, 2011, at 12:18 AM, Sébastien Riccio wrote:

Hi,

Being new to openvswitch I'm still trying to get my setup working like a charm.
I'm close to reach my goal but I've run into an annoying problem.

When there is no activity on a bridge openvswitch miss the first packets
that are sent from or to the host, and I have no idea why :(

Distrib: Debian 6
Kernel:  2.6.32-35

hardware:
eth0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20) eth1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20) eth2 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20) eth3 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet (rev 20) eth4 Ethernet controller: Broadcom Corporation NetXtreme II BCM57711 10-Gigabit PCIe eth5 Ethernet controller: Broadcom Corporation NetXtreme II BCM57711 10-Gigabit PCIe


PIFs:

eth0 trunk port
eth1 trunk port
eth2 iscsi path2
eth3 iscsi path1
eth4 unused yet yet
eth5 unused yet


What I did to setup networking:

ifconfig eth0 up
ifconfig eth1 up
ifconfig eth2 up
ifconfig eth3 up

ovs-vsctl add-br trunk0
ovs-vsctl add-bond trunk0 bond0 eth0 eth1
ovs-vsctl add-port trunk0 mgmt0 tag=85
ovs-vsctl set internface mgmt0 type=internal

ovs-vsctl add-br stor0
ovs-vsctl add-port stor0 eth3

ovs-vsctl add-br stor1
ovs-vsctl add-port stor1 eth2

ifconfig mgmt0 10.111.10.116 netmask 255.255.0.0
ifconfig stor0 10.50.50.16 netmask 255.255.255.0
ifconfig stor1 10.50.60.16 netmask 255.255.255.0



Testing bonded trunk:

root@xen-blade16:~# ping 10.111.0.1
PING 10.111.0.1 (10.111.0.1) 56(84) bytes of data.
64 bytes from 10.111.0.1: icmp_req=3 ttl=255 time=0.718 ms
64 bytes from 10.111.0.1: icmp_req=4 ttl=255 time=0.426 ms
64 bytes from 10.111.0.1: icmp_req=5 ttl=255 time=0.300 ms
64 bytes from 10.111.0.1: icmp_req=6 ttl=255 time=0.356 ms
64 bytes from 10.111.0.1: icmp_req=7 ttl=255 time=0.390 ms
64 bytes from 10.111.0.1: icmp_req=8 ttl=255 time=0.346 ms
^C
--- 10.111.0.1 ping statistics ---
8 packets transmitted, 6 received, 25% packet loss, time 7014ms
rtt min/avg/max/mdev = 0.300/0.422/0.718/0.139 ms


Testing iscsi path1

root@xen-blade16:~# ping 10.50.50.15
PING 10.50.50.15 (10.50.50.15) 56(84) bytes of data.
64 bytes from 10.50.50.15: icmp_req=4 ttl=64 time=0.179 ms
64 bytes from 10.50.50.15: icmp_req=5 ttl=64 time=0.181 ms
64 bytes from 10.50.50.15: icmp_req=6 ttl=64 time=0.150 ms
64 bytes from 10.50.50.15: icmp_req=7 ttl=64 time=0.164 ms
64 bytes from 10.50.50.15: icmp_req=8 ttl=64 time=0.177 ms
^C
--- 10.50.50.15 ping statistics ---
8 packets transmitted, 5 received, 37% packet loss, time 7022ms
rtt min/avg/max/mdev = 0.150/0.170/0.181/0.014 ms


Testing iscsi path2

root@xen-blade16:~# ping 10.50.60.15
PING 10.50.60.15 (10.50.60.15) 56(84) bytes of data.
64 bytes from 10.50.60.15: icmp_req=4 ttl=64 time=0.163 ms
64 bytes from 10.50.60.15: icmp_req=5 ttl=64 time=0.161 ms
64 bytes from 10.50.60.15: icmp_req=6 ttl=64 time=0.165 ms
64 bytes from 10.50.60.15: icmp_req=7 ttl=64 time=0.168 ms
64 bytes from 10.50.60.15: icmp_req=8 ttl=64 time=0.154 ms
^C
--- 10.50.60.15 ping statistics ---
8 packets transmitted, 5 received, 37% packet loss, time 7026ms



As you can see the first packets are dropped, either on the bonded
interface and on the "normal" interfaces. So doesn't seems to be
an issue with the bonding.

Also if I ping, ctrl-c and then directly ping again, it doesn't miss
the first packets.

Seems that after a few seconds of inactivity it "forgets" the paths.



more infos:

root@xen-blade16:~# ovs-dpctl show
system@trunk0:
        lookups: frags:0, hit:1141399, missed:377043, lost:0
        port 0: trunk0 (internal)
        port 1: eth1
        port 2: mgmt0 (internal)
        port 3: eth0
system@stor0:
        lookups: frags:0, hit:515, missed:68, lost:0
        port 0: stor0 (internal)
        port 1: eth3
system@stor1:
        lookups: frags:0, hit:501, missed:62, lost:0
        port 0: stor1 (internal)
        port 1: eth2


root@xen-blade16:~# ovs-appctl bond/show bond0
bond_mode: balance-slb
lacp: off
bond-hash-algorithm: balance-slb
bond-detect-mode: carrier
updelay: 0 ms
downdelay: 0 ms
next rebalance: 6578 ms

slave eth0: enabled
        active slave
        hash 95: 0 kB load
                00:23:20:d4:c7:7b

slave eth1: enabled


root@xen-blade16:~# ovs-vsctl list port
_uuid               : 7c18f4b0-e644-45f2-81ba-cb588e8bdaf8
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [c956aabf-da4c-4d2b-970e-65338c842006]
lacp                : []
mac                 : []
name                : "trunk0"
other_config        : {}
qos                 : []
tag                 : []
trunks              : []

_uuid               : df40b36c-c55b-406b-8613-cff1e59b35d6
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [e7f2fee3-93a3-4703-a818-500d91bff8b2]
lacp                : []
mac                 : []
name                : "mgmt0"
other_config        : {}
qos                 : []
tag                 : 85
trunks              : []

_uuid               : 8ecce71c-7ff6-436f-a968-e6974d6ee100
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [34b58c6b-b97b-47c8-a57d-e8cef8ad918b]
lacp                : []
mac                 : []
name                : "stor0"
other_config        : {}
qos                 : []
tag                 : []
trunks              : []

_uuid               : d435be0d-f371-4adf-ba50-3ff3989f7c18
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces : [485b7425-8ae5-4658-a65a-705b3f565934, 8f589dae-4d42-4cf0-b9e4-be7ab6693c4d]
lacp                : []
mac                 : []
name                : "bond0"
other_config        : {}
qos                 : []
tag                 : []
trunks              : []

_uuid               : c3c55f92-04f9-4bdd-a119-9d851273e158
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [d55b71e6-e470-4921-8c44-f3154683ea7b]
lacp                : []
mac                 : []
name                : "eth3"
other_config        : {}
qos                 : []
tag                 : []
trunks              : []

_uuid               : ec958047-ddbf-425f-97cc-dad30c5914c0
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [3cc9f429-5306-45ed-bfff-cd4cf9205748]
lacp                : []
mac                 : []
name                : "stor1"
other_config        : {}
qos                 : []
tag                 : []
trunks              : []

_uuid               : 2d7b24b7-7049-47df-9d5f-60e6ff96ce10
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [fee9ee9c-d427-4c09-8182-1ea8492851c5]
lacp                : []
mac                 : []
name                : "eth2"
other_config        : {}
qos                 : []
tag                 : []
trunks              : []


Any ideas ? :)

Thanks a lot for your help.

Sébastien
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Hi Justin,

Thanks for your reply.

I'm not (yet) running an off-box controller. There is 0 load on the machine. The only process
that appears sometime in the top of "top" is the switchd daemon.
Is it a normal TIME+ count for the daemon, on a box up for one day without activity?

root@xen-blade16:~# uptime
 21:01:42 up 1 day,  5:12, 20 users,  load average: 0.01, 0.00, 0.00

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
2070 root      20   0 22608 2492 1144 S    0  0.0   3:13.89 ovs-vswitchd

root@xen-blade16:~# ovs-vsctl list bridge
_uuid               : 125a159c-b20f-4dfa-a7b4-d607db94f480
controller          : []
datapath_id         : "0000bc305b3883aa"
datapath_type       : ""
external_ids        : {}
fail_mode           : []
flood_vlans         : []
mirrors             : []
name                : "stor1"
netflow             : []
other_config        : {}
ports : [2d7b24b7-7049-47df-9d5f-60e6ff96ce10, ec958047-ddbf-425f-97cc-dad30c5914c0]
sflow               : []

_uuid               : 9d01feb1-695c-413d-b333-e4532173b9f4
controller          : []
datapath_id         : "0000bc305b3883ac"
datapath_type       : ""
external_ids        : {}
fail_mode           : []
flood_vlans         : []
mirrors             : []
name                : "stor0"
netflow             : []
other_config        : {}
ports : [8ecce71c-7ff6-436f-a968-e6974d6ee100, c3c55f92-04f9-4bdd-a119-9d851273e158]
sflow               : []

_uuid               : 353c2bb1-4ce0-4164-a1cb-3edb0553c809
controller          : []
datapath_id         : "0000bc305b3883a6"
datapath_type       : ""
external_ids        : {}
fail_mode           : []
flood_vlans         : []
mirrors             : []
name                : "trunk0"
netflow             : []
other_config        : {}
ports : [7c18f4b0-e644-45f2-81ba-cb588e8bdaf8, d435be0d-f371-4adf-ba50-3ff3989f7c18, df40b36c-c55b-406b-8613-cff1e59b35d6]
sflow               : []

root@xen-blade16:~# ovs-ofctl dump-flows trunk0
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=43370.807s, table_id=0, n_packets=1883934, n_bytes=143638556, priority=0 actions=NORMAL

root@xen-blade16:~# ovs-ofctl dump-flows stor0
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=43389.711s, table_id=0, n_packets=91742, n_bytes=5651456, priority=0 actions=NORMAL

root@xen-blade16:~# ovs-ofctl dump-flows stor1
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=43393.091s, table_id=0, n_packets=91796, n_bytes=5653888, priority=0 actions=NORMAL

Best regards,
Sébastien

_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Hi Justin,

I've rm'ed and recreated the conf.db file and restarted from scratch with the exact same setup as described in
my previous mails, and now it's wokring good.  I don't get it... :)

Sorry about that false problem.

Sébastien


_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to