X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fvport-netdev.c;h=e24e5883b1a39551f604ef80e4268009b651fbaa;hb=5b5a3a674c975ed1ccfc38b4dae705d4fe4df0eb;hp=07c7abdb1f90d56b30b475d4afc88dd62e56d33a;hpb=e25c55d28f30b537aa657797c41483a9bab59b93;p=openvswitch diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c index 07c7abdb..e24e5883 100644 --- a/datapath/vport-netdev.c +++ b/datapath/vport-netdev.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007-2011 Nicira Networks. + * Copyright (c) 2007-2012 Nicira, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public @@ -139,7 +139,7 @@ static struct vport *netdev_create(const struct vport_parms *parms) netdev_vport = netdev_vport_priv(vport); - netdev_vport->dev = dev_get_by_name(&init_net, parms->name); + netdev_vport->dev = dev_get_by_name(ovs_dp_get_net(vport->dp), parms->name); if (!netdev_vport->dev) { err = -ENODEV; goto error_free_vport; @@ -420,19 +420,10 @@ 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 on any released version of Linux, because there - * is only a single bridge hook function and only a single br_port member - * in struct net_device. - * - * Declaring and exporting this symbol enforces mutual exclusion. The bridge - * module also exports the same symbol, so 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_mod)"). - * - * The use of "typeof" here avoids the need to track changes in the type of - * br_should_route_hook over various kernel versions. + * 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. */ -typeof(br_should_route_hook) br_should_route_hook; -EXPORT_SYMBOL(br_should_route_hook); +BRIDGE_MUTUAL_EXCLUSION; #endif