Hi,

In our setup, we have a bunch of lxcs connected through a bridge. We have
enabled STP on the bridge as there is a possibility of loop formation when
we add a GRE interface onto the same bridge to connect with another host
running with similar configuration.

We are seeing that there is around 8 seconds of packet drop when a new lxc
interface is added or when an existing interface is deleted. Looking at the
'ovs-ofctl show {bridge}' output seems to indicate that the packet drops
correspond to the time at which the STP states change from
STP_FORWARD->0->STP_LEARN->STP_FORWARD.

We need STP running on on the GRE interface and not on other interface, so
I tried to disable the STP on some of these ports by using "ovs-ofctl
mod-port {BRIDGE} {PORT} no-stp" and "ovs-ofctl mod-port {BRIDGE} {PORT}
no-receive-stp" commands, but I still see the port state transition to
LEARN while adding or deleting an lxc port.

We initially observed this behavior on 2.1.0 version and later verified
that the behavior is same on 2.3.0 version as well.

1. Is it an expected behavior that there could be a packet drop when the
topology changes and STP transitions through learning new topology?

2. Is it the right approach to use above mentioned "ovs-ofctl mod-port"
command to disable STP on individual ports? Is there some other method to
achieve the same? And Is it a bug that the ports are still going through
STP state transitions even when STP is disabled on those ports?

Please find below more information about our setup and output of some of
the openvswitch commands:

- We create a bridge in openvswitch with "ovs-vsctl add-br" command
- LXCs create VETH pair of interfaces and adds the veth interface to the
bridge using "ovs-vsctl add-port" command.
- We have disabled stp on the bridge with "ovs-vsctl set bridge {BR}
stp_enable=true" command

ubuntu@ip-172-31-6-128:~$ *sudo ovs-vsctl show*
27a044fd-8d9f-4182-80c2-616345a5f737
    Bridge bpbr
        Port bpbr
            Interface bpbr
                type: internal
        Port vethYDEugn
            Interface vethYDEugn
        Port "vethi0bmKX"
            Interface "vethi0bmKX"
        Port "vethqyau0c"
            Interface "vethqyau0c"
    ovs_version: "2.1.0"

ubuntu@ip-172-31-6-128:~$ *sudo ovs-ofctl show bpbr*
OFPT_FEATURES_REPLY (xid=0x2): dpid:00007271972f0e41
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST
SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 1(vethi0bmKX): addr:fe:89:a1:aa:d2:07
     config:     0
     state:      STP_FORWARD
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 2(vethYDEugn): addr:fe:3d:ae:14:21:7a
     config:     0
     state:      STP_FORWARD
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 3(vethqyau0c): addr:fe:da:4c:dc:52:05
     config:     0
     state:      STP_FORWARD
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 LOCAL(bpbr): addr:72:71:97:2f:0e:41
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0

ubuntu@ip-172-31-6-128:~$ *sudo ovs-ofctl dump-flows bpbr*
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=12768.140s, table=0, n_packets=1822351,
n_bytes=1322279602, idle_age=0, priority=0 actions=NORMAL


Following output shows that the port goes into STP_LEARN state even when
STP is disabled on the port:



OFPT_FEATURES_REPLY (xid=0x2): dpid:00000610b651684e
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST
SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 1(veth5l236C): addr:fe:f3:9b:6e:ec:11
     config:     *NO_STP NO_RECV_STP*
     state:      *STP_LEARN*
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 2(vethnUQLH8): addr:fe:a1:ce:78:b7:d2
     config:     NO_STP NO_RECV_STP
     state:      STP_FORWARD
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 3(vethFCs7UV): addr:fe:eb:68:63:72:2c
     config:     *NO_STP NO_RECV_STP*
     state:      *STP_LEARN*
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 LOCAL(bpbr): addr:06:10:b6:51:68:4e
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0


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

Reply via email to