This is what I had in mind: static enum ofperr reject_slave_controller(struct ofconn *ofconn) { if (ofconn_get_type(ofconn) == OFCONN_PRIMARY && ofconn_get_role(ofconn) == OFPCR12_ROLE_SLAVE) { if (ofputil_protocol_to_ofp_version(ofconn_get_protocol(ofconn)) >= OFP12_VERSION) { return OFPERR_OFPBRC_IS_SLAVE; } else { return OFPERR_OFPBRC_EPERM; } } else { return 0; } }
On Wed, Jan 21, 2015 at 1:08 PM, Anup Khadka <khadka...@gmail.com> wrote: > I am actually confused by the fix. OFPBRC_IS_SLAVE is an OpenFlow 1.2+ > error message, correct? The comment in the header file is changed and it > appears that this is an OpenFlow 1.0+ error message and I am not sure if > that's right. Likewise OFPBRC_IS_SLAVE is returned while rejecting slave > controllers regardless of the version of the switch. If the switch is not > running in 1.2+ mode, the code that sends the error is not going to > understand this error message, right? Which in that case, it will probably > send a Nicira vendor error back to the controller, instead of the > EPERM_ERROR as the switch used to send previously. Is this what you are > aiming to do? Am I missing something? > > Thank you, > Anup > > On Wed, Jan 21, 2015 at 12:46 PM, Ben Pfaff <b...@nicira.com> wrote: > >> I sent out a fix: >> http://openvswitch.org/pipermail/dev/2015-January/050612.html >> >> On Tue, Jan 20, 2015 at 03:01:27PM -0800, Ben Pfaff wrote: >> > The OF1.2 feature was based on an Open vSwitch extension to OpenFlow >> > first implemented for OF1.0. We need to continue supporting that >> > extension. >> > >> > On Tue, Jan 20, 2015 at 05:12:30PM -0500, Anup Khadka wrote: >> > > Do OpenFlow versions prior to OF 1.2 even support the concept of slave >> > > controllers? I couldn't find anything in the specs. >> > > >> > > On Tue, Jan 20, 2015 at 4:24 PM, Ben Pfaff <b...@nicira.com> wrote: >> > > >> > > > On Tue, Jan 20, 2015 at 03:55:57PM -0500, Anup Khadka wrote: >> > > > > I have noticed that OVS rejects flow-mod request from a >> slave-controller >> > > > > with an OFPBRC_EPERM request code. Isn't the more appropriate >> code here >> > > > is: >> > > > > OFPBRC_IS_SLAVE? >> > > > > >> > > > > Same thing when a slave controller sends a packet out. >> > > > >> > > > That does sound better, for OF1.2+. >> > > > >> > >
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss