Message ID | 20140716112552.55852dbf@samsung-9 |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, Jul 16, 2014 at 11:25 AM, Stephen Hemminger <stephen@networkplumber.org> wrote: > Generic netlink tables can be const. > OVS external module can not use const due to compatibility code. But there is no reason we can not do it for in-kernel module. Thanks. > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> > > > --- a/net/openvswitch/datapath.c 2014-07-09 03:06:11.400291765 -0700 > +++ b/net/openvswitch/datapath.c 2014-07-09 03:09:35.688297236 -0700 > @@ -66,16 +66,16 @@ static struct genl_family dp_packet_genl > static struct genl_family dp_flow_genl_family; > static struct genl_family dp_datapath_genl_family; > > -static struct genl_multicast_group ovs_dp_flow_multicast_group = { > - .name = OVS_FLOW_MCGROUP > +static const struct genl_multicast_group ovs_dp_flow_multicast_group = { > + .name = OVS_FLOW_MCGROUP, > }; > > -static struct genl_multicast_group ovs_dp_datapath_multicast_group = { > - .name = OVS_DATAPATH_MCGROUP > +static const struct genl_multicast_group ovs_dp_datapath_multicast_group = { > + .name = OVS_DATAPATH_MCGROUP, > }; > > -struct genl_multicast_group ovs_dp_vport_multicast_group = { > - .name = OVS_VPORT_MCGROUP > +static const struct genl_multicast_group ovs_dp_vport_multicast_group = { > + .name = OVS_VPORT_MCGROUP, > }; > > /* Check if need to build a reply message. > @@ -1190,7 +1190,7 @@ static const struct nla_policy flow_poli > [OVS_FLOW_ATTR_CLEAR] = { .type = NLA_FLAG }, > }; > > -static struct genl_ops dp_flow_genl_ops[] = { > +static const struct genl_ops dp_flow_genl_ops[] = { > { .cmd = OVS_FLOW_CMD_NEW, > .flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */ > .policy = flow_policy, > @@ -1578,7 +1578,7 @@ static const struct nla_policy datapath_ > [OVS_DP_ATTR_USER_FEATURES] = { .type = NLA_U32 }, > }; > > -static struct genl_ops dp_datapath_genl_ops[] = { > +static const struct genl_ops dp_datapath_genl_ops[] = { > { .cmd = OVS_DP_CMD_NEW, > .flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */ > .policy = datapath_policy, > @@ -1945,7 +1945,7 @@ static const struct nla_policy vport_pol > [OVS_VPORT_ATTR_OPTIONS] = { .type = NLA_NESTED }, > }; > > -static struct genl_ops dp_vport_genl_ops[] = { > +static const struct genl_ops dp_vport_genl_ops[] = { > { .cmd = OVS_VPORT_CMD_NEW, > .flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */ > .policy = vport_policy, -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Stephen Hemminger <stephen@networkplumber.org> Date: Wed, 16 Jul 2014 11:25:52 -0700 > Generic netlink tables can be const. > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Applied, thanks Stephen. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/net/openvswitch/datapath.c 2014-07-09 03:06:11.400291765 -0700 +++ b/net/openvswitch/datapath.c 2014-07-09 03:09:35.688297236 -0700 @@ -66,16 +66,16 @@ static struct genl_family dp_packet_genl static struct genl_family dp_flow_genl_family; static struct genl_family dp_datapath_genl_family; -static struct genl_multicast_group ovs_dp_flow_multicast_group = { - .name = OVS_FLOW_MCGROUP +static const struct genl_multicast_group ovs_dp_flow_multicast_group = { + .name = OVS_FLOW_MCGROUP, }; -static struct genl_multicast_group ovs_dp_datapath_multicast_group = { - .name = OVS_DATAPATH_MCGROUP +static const struct genl_multicast_group ovs_dp_datapath_multicast_group = { + .name = OVS_DATAPATH_MCGROUP, }; -struct genl_multicast_group ovs_dp_vport_multicast_group = { - .name = OVS_VPORT_MCGROUP +static const struct genl_multicast_group ovs_dp_vport_multicast_group = { + .name = OVS_VPORT_MCGROUP, }; /* Check if need to build a reply message. @@ -1190,7 +1190,7 @@ static const struct nla_policy flow_poli [OVS_FLOW_ATTR_CLEAR] = { .type = NLA_FLAG }, }; -static struct genl_ops dp_flow_genl_ops[] = { +static const struct genl_ops dp_flow_genl_ops[] = { { .cmd = OVS_FLOW_CMD_NEW, .flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */ .policy = flow_policy, @@ -1578,7 +1578,7 @@ static const struct nla_policy datapath_ [OVS_DP_ATTR_USER_FEATURES] = { .type = NLA_U32 }, }; -static struct genl_ops dp_datapath_genl_ops[] = { +static const struct genl_ops dp_datapath_genl_ops[] = { { .cmd = OVS_DP_CMD_NEW, .flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */ .policy = datapath_policy, @@ -1945,7 +1945,7 @@ static const struct nla_policy vport_pol [OVS_VPORT_ATTR_OPTIONS] = { .type = NLA_NESTED }, }; -static struct genl_ops dp_vport_genl_ops[] = { +static const struct genl_ops dp_vport_genl_ops[] = { { .cmd = OVS_VPORT_CMD_NEW, .flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */ .policy = vport_policy,
Generic netlink tables can be const. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html