On Mon, Dec 3, 2012 at 10:53 AM, Pravin B Shelar <pshe...@nicira.com> wrote: > Currently brcompat does not on master due to recent > datapath changes. We have decided to remove it as it is > not used very widely.
I think you missing a word in the first sentence. > diff --git a/NEWS b/NEWS > index bb80beb..ac56e3e 100644 > --- a/NEWS > +++ b/NEWS > @@ -67,6 +67,7 @@ v1.9.0 - xx xxx xxxx > - CAPWAP tunnel support. > - The data in the RARP packets can now be matched in the same way as the > data in ARP packets. > + - Bridge compatibility is removed. This patch should just be targeted master (i.e. post-1.9). For the upcoming release it should continue to work as is. > diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c > index 5f437d3..6701838 100644 > --- a/datapath/vport-netdev.c > +++ b/datapath/vport-netdev.c > @@ -426,10 +426,21 @@ const struct vport_ops ovs_netdev_vport_ops = { > > #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) > /* > - * In kernels earlier than 2.6.36, Open vSwitch cannot safely coexist with > the > - * Linux bridge module, because there is only a single bridge hook function > and > - * only a single br_port member in struct net_device, so this prevents > loading > - * both bridge and openvswitch at the same time. > + * Enforces, mutual exclusion with the Linux bridge module, by declaring and > + * exporting br_should_route_hook. Because the bridge module also exports > the > + * same symbol, the module loader will refuse to load both modules at the > same > + * time (e.g. "bridge: exports duplicate symbol br_should_route_hook (owned > by > + * openvswitch)"). > + * > + * Before Linux 2.6.36, Open vSwitch cannot safely coexist with the Linux > + * bridge module, so openvswitch uses this macro in those versions. In > + * Linux 2.6.36 and later, Open vSwitch can coexist with the bridge module, > + * but it makes no sense to load both bridge and brcompat, so brcompat uses > + * this macro in those versions. We can remove mentions of brcompat here. > diff --git a/datapath/vport.h b/datapath/vport.h > index 5a7caf5..852b2b0 100644 > --- a/datapath/vport.h > +++ b/datapath/vport.h > @@ -76,7 +76,6 @@ struct vport_err_stats { > * @rcu: RCU callback head for deferred destruction. > * @port_no: Index into @dp's @ports array. > * @dp: Datapath to which this port belongs. > - * @kobj: Represents /sys/class/net/<devname>/brport. > * @linkname: The name of the link from /sys/class/net/<datapath>/brif to > this > * &struct vport. (We keep this around so that we can delete it if the > * device gets renamed.) Set to the null string when no link exists. > @@ -95,7 +94,6 @@ struct vport { > struct rcu_head rcu; > u16 port_no; > struct datapath *dp; > - struct kobject kobj; > char linkname[IFNAMSIZ]; > u32 upcall_pid; There are some vport ops that are now unused and can be removed: * @get_kobj: Get the kobj associated with the device (may return null). * @get_dev_flags: Get the device's flags. * @is_running: Checks whether the device is running. * @get_operstate: Get the device's operating state. * @get_mtu: Get the device's MTU. May be %NULL if the device does not have an * MTU (as e.g. some tunnels do not). Must be implemented if @get_ifindex is * implemented. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev