The OpenFlow specification says that only role changes to slave or master check the generation ID, so this is a bug fix.
Found by OFTest. Signed-off-by: Ben Pfaff <b...@nicira.com> --- ofproto/ofproto.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index a724071..e9b1472 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -5315,7 +5315,8 @@ handle_role_request(struct ofconn *ofconn, const struct ofp_header *oh) } if (request.role != OFPCR12_ROLE_NOCHANGE) { - if (request.have_generation_id + if (request.role != OFPCR12_ROLE_EQUAL + && request.have_generation_id && !ofconn_set_master_election_id(ofconn, request.generation_id)) { return OFPERR_OFPRRFC_STALE; } -- 2.1.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev