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
datapath: Move common genl notify code into ovs_notify()
[sliver-openvswitch.git]
/
datapath
/
datapath.c
diff --git
a/datapath/datapath.c
b/datapath/datapath.c
index
40b25e5
..
9cd4b0e
100644
(file)
--- a/
datapath/datapath.c
+++ b/
datapath/datapath.c
@@
-71,6
+71,13
@@
static DECLARE_DELAYED_WORK(rehash_flow_wq, rehash_flow_table);
int ovs_net_id __read_mostly;
int ovs_net_id __read_mostly;
+static void ovs_notify(struct sk_buff *skb, struct genl_info *info,
+ struct genl_multicast_group *grp)
+{
+ genl_notify(skb, genl_info_net(info), info->snd_portid,
+ grp->id, info->nlhdr, GFP_KERNEL);
+}
+
/**
* DOC: Locking:
*
/**
* DOC: Locking:
*
@@
-1306,9
+1313,7
@@
static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info)
}
if (!IS_ERR(reply))
}
if (!IS_ERR(reply))
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_flow_multicast_group.id, info->nlhdr,
- GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_flow_multicast_group);
else
netlink_set_err(GENL_SOCK(sock_net(skb->sk)), 0,
ovs_dp_flow_multicast_group.id, PTR_ERR(reply));
else
netlink_set_err(GENL_SOCK(sock_net(skb->sk)), 0,
ovs_dp_flow_multicast_group.id, PTR_ERR(reply));
@@
-1395,8
+1400,7
@@
static int ovs_flow_cmd_del(struct sk_buff *skb, struct genl_info *info)
ovs_flow_deferred_free(flow);
ovs_flow_deferred_free(flow);
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_flow_multicast_group.id, info->nlhdr, GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_flow_multicast_group);
return 0;
}
return 0;
}
@@
-1640,9
+1644,7
@@
static int ovs_dp_cmd_new(struct sk_buff *skb, struct genl_info *info)
rtnl_unlock();
rtnl_unlock();
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_datapath_multicast_group.id, info->nlhdr,
- GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_datapath_multicast_group);
return 0;
err_destroy_local_port:
return 0;
err_destroy_local_port:
@@
-1714,9
+1716,7
@@
static int ovs_dp_cmd_del(struct sk_buff *skb, struct genl_info *info)
__dp_destroy(dp);
__dp_destroy(dp);
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_datapath_multicast_group.id, info->nlhdr,
- GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_datapath_multicast_group);
return 0;
}
return 0;
}
@@
-1744,9
+1744,7
@@
static int ovs_dp_cmd_set(struct sk_buff *skb, struct genl_info *info)
return 0;
}
return 0;
}
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_datapath_multicast_group.id, info->nlhdr,
- GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_datapath_multicast_group);
return 0;
}
return 0;
}
@@
-2011,8
+2009,8
@@
static int ovs_vport_cmd_new(struct sk_buff *skb, struct genl_info *info)
ovs_dp_detach_port(vport);
goto exit_unlock;
}
ovs_dp_detach_port(vport);
goto exit_unlock;
}
- genl_notify(reply, genl_info_net(info), info->snd_portid,
-
ovs_dp_vport_multicast_group.id, info->nlhdr, GFP_KERNEL
);
+
+
ovs_notify(reply, info, &ovs_dp_vport_multicast_group
);
exit_unlock:
rtnl_unlock();
exit_unlock:
rtnl_unlock();
@@
-2063,8
+2061,7
@@
static int ovs_vport_cmd_set(struct sk_buff *skb, struct genl_info *info)
info->snd_seq, 0, OVS_VPORT_CMD_NEW);
BUG_ON(err < 0);
info->snd_seq, 0, OVS_VPORT_CMD_NEW);
BUG_ON(err < 0);
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_vport_multicast_group.id, info->nlhdr, GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_vport_multicast_group);
rtnl_unlock();
return 0;
rtnl_unlock();
return 0;
@@
-2108,8
+2105,7
@@
static int ovs_vport_cmd_del(struct sk_buff *skb, struct genl_info *info)
err = 0;
ovs_dp_detach_port(vport);
err = 0;
ovs_dp_detach_port(vport);
- genl_notify(reply, genl_info_net(info), info->snd_portid,
- ovs_dp_vport_multicast_group.id, info->nlhdr, GFP_KERNEL);
+ ovs_notify(reply, info, &ovs_dp_vport_multicast_group);
exit_unlock:
rtnl_unlock();
exit_unlock:
rtnl_unlock();