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 _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss