git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
openvswitch: Remove Linux bridge compatibility.
[sliver-openvswitch.git]
/
datapath
/
dp_notify.c
diff --git
a/datapath/dp_notify.c
b/datapath/dp_notify.c
index
415e83b
..
c9eeafe
100644
(file)
--- a/
datapath/dp_notify.c
+++ b/
datapath/dp_notify.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 2007-201
1 Nicira Networks
.
+ * Copyright (c) 2007-201
2 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
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
@@
-24,52
+24,46
@@
#include "vport-netdev.h"
static int dp_device_event(struct notifier_block *unused, unsigned long event,
#include "vport-netdev.h"
static int dp_device_event(struct notifier_block *unused, unsigned long event,
- void *ptr)
+
void *ptr)
{
struct net_device *dev = ptr;
struct vport *vport;
{
struct net_device *dev = ptr;
struct vport *vport;
- struct datapath *dp;
- if (is_internal_dev(dev))
- vport = internal_dev_get_vport(dev);
+ if (
ovs_
is_internal_dev(dev))
+ vport =
ovs_
internal_dev_get_vport(dev);
else
else
- vport = netdev_get_vport(dev);
+ vport =
ovs_
netdev_get_vport(dev);
if (!vport)
return NOTIFY_DONE;
if (!vport)
return NOTIFY_DONE;
- dp = vport->dp;
-
switch (event) {
case NETDEV_UNREGISTER:
switch (event) {
case NETDEV_UNREGISTER:
- if (!is_internal_dev(dev)) {
+ if (!
ovs_
is_internal_dev(dev)) {
struct sk_buff *notify;
struct sk_buff *notify;
+ struct datapath *dp = vport->dp;
notify = ovs_vport_cmd_build_info(vport, 0, 0,
OVS_VPORT_CMD_DEL);
notify = ovs_vport_cmd_build_info(vport, 0, 0,
OVS_VPORT_CMD_DEL);
- dp_detach_port(vport);
+
ovs_
dp_detach_port(vport);
if (IS_ERR(notify)) {
if (IS_ERR(notify)) {
- netlink_set_err(
INIT_NET_GENL_SOCK
, 0,
- dp_vport_multicast_group.id,
+ netlink_set_err(
GENL_SOCK(ovs_dp_get_net(dp))
, 0,
+
ovs_
dp_vport_multicast_group.id,
PTR_ERR(notify));
break;
}
PTR_ERR(notify));
break;
}
- genlmsg_multicast(notify, 0, dp_vport_multicast_group.id,
- GFP_KERNEL);
+ genlmsg_multicast_netns(ovs_dp_get_net(dp), notify, 0,
+ ovs_dp_vport_multicast_group.id,
+ GFP_KERNEL);
}
break;
}
break;
- case NETDEV_CHANGENAME:
- if (vport->port_no != OVSP_LOCAL) {
- dp_sysfs_del_if(vport);
- dp_sysfs_add_if(vport);
- }
- break;
}
}
+
return NOTIFY_DONE;
}
return NOTIFY_DONE;
}
-struct notifier_block dp_device_notifier = {
+struct notifier_block
ovs_
dp_device_notifier = {
.notifier_call = dp_device_event
};
.notifier_call = dp_device_event
};