stp: Fix bpdu tx problem in listening state
authorkmindg <kmindg@gmail.com>
Sun, 9 Mar 2014 09:48:52 +0000 (17:48 +0800)
committerBen Pfaff <blp@nicira.com>
Sat, 15 Mar 2014 16:39:11 +0000 (09:39 -0700)
commit0d1cee123a84ef8885834c0d086c4a3d5d48355f
tree0f079948414cd366c7506654b2acd7ed6359e3e9
parentcc7a9de0a5b52ae2b8161e5d8c9d51c61f849102
stp: Fix bpdu tx problem in listening state

The restriction only allows to send bpdu in forwarding state in
compose_output_action__. But a port could send bpdu in listening
and learning state according to comments in lib/stp.h(State of
an STP port).

Until this commit, OVS did not send out BPDUs in listening and learning
states.  But those two states are temporary, the stp port will be in
forwarding state and send out BPDUs eventually (In the default
configuration listening and learning states last 15+15 second).  Therefore,
this bug increased convergence time but did not entirely break STP.

Signed-off-by: kmindg <kmindg@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/stp.c
lib/stp.h
ofproto/ofproto-dpif-xlate.c