openvswitch: Move common genl notify code into ovs_notify()
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
parent
c3ff8cfe3e
commit
ed66118585
1 changed files with 16 additions and 20 deletions
|
@ -71,6 +71,13 @@ static int ovs_net_id __read_mostly;
|
|||
static void rehash_flow_table(struct work_struct *work);
|
||||
static DECLARE_DELAYED_WORK(rehash_flow_wq, rehash_flow_table);
|
||||
|
||||
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:
|
||||
*
|
||||
|
@ -1061,9 +1068,7 @@ static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info)
|
|||
}
|
||||
|
||||
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(sock_net(skb->sk)->genl_sock, 0,
|
||||
ovs_dp_flow_multicast_group.id, PTR_ERR(reply));
|
||||
|
@ -1150,8 +1155,7 @@ static int ovs_flow_cmd_del(struct sk_buff *skb, struct genl_info *info)
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -1383,9 +1387,7 @@ static int ovs_dp_cmd_new(struct sk_buff *skb, struct genl_info *info)
|
|||
list_add_tail(&dp->list_node, &ovs_net->dps);
|
||||
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:
|
||||
|
@ -1453,9 +1455,7 @@ static int ovs_dp_cmd_del(struct sk_buff *skb, struct genl_info *info)
|
|||
|
||||
__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;
|
||||
}
|
||||
|
@ -1479,9 +1479,7 @@ static int ovs_dp_cmd_set(struct sk_buff *skb, struct genl_info *info)
|
|||
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;
|
||||
}
|
||||
|
@ -1727,8 +1725,8 @@ static int ovs_vport_cmd_new(struct sk_buff *skb, struct genl_info *info)
|
|||
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();
|
||||
|
@ -1769,8 +1767,7 @@ static int ovs_vport_cmd_set(struct sk_buff *skb, struct genl_info *info)
|
|||
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();
|
||||
|
@ -1804,8 +1801,7 @@ static int ovs_vport_cmd_del(struct sk_buff *skb, struct genl_info *info)
|
|||
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();
|
||||
|
|
Loading…
Reference in a new issue