diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-10-24 08:40:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-27 16:16:09 -0400 |
commit | a07ea4d9941af5a0c6f0be2a71b51ac9c083c5e5 (patch) | |
tree | 52d22e6ed0079bb5a78d610c2ee33a783f070553 /net/openvswitch/datapath.c | |
parent | c90c39dab3e02ce45427a214746711f33ad13be6 (diff) |
genetlink: no longer support using static family IDs
Static family IDs have never really been used, the only
use case was the workaround I introduced for those users
that assumed their family ID was also their multicast
group ID.
Additionally, because static family IDs would never be
reserved by the generic netlink code, using a relatively
low ID would only work for built-in families that can be
registered immediately after generic netlink is started,
which is basically only the control family (apart from
the workaround code, which I also had to add code for so
it would reserve those IDs)
Thus, anything other than GENL_ID_GENERATE is flawed and
luckily not used except in the cases I mentioned. Move
those workarounds into a few lines of code, and then get
rid of GENL_ID_GENERATE entirely, making it more robust.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/datapath.c')
-rw-r--r-- | net/openvswitch/datapath.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 194435aa1165..f9fef7dfba15 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c | |||
@@ -671,7 +671,6 @@ static const struct genl_ops dp_packet_genl_ops[] = { | |||
671 | }; | 671 | }; |
672 | 672 | ||
673 | static struct genl_family dp_packet_genl_family = { | 673 | static struct genl_family dp_packet_genl_family = { |
674 | .id = GENL_ID_GENERATE, | ||
675 | .hdrsize = sizeof(struct ovs_header), | 674 | .hdrsize = sizeof(struct ovs_header), |
676 | .name = OVS_PACKET_FAMILY, | 675 | .name = OVS_PACKET_FAMILY, |
677 | .version = OVS_PACKET_VERSION, | 676 | .version = OVS_PACKET_VERSION, |
@@ -1436,7 +1435,6 @@ static const struct genl_ops dp_flow_genl_ops[] = { | |||
1436 | }; | 1435 | }; |
1437 | 1436 | ||
1438 | static struct genl_family dp_flow_genl_family = { | 1437 | static struct genl_family dp_flow_genl_family = { |
1439 | .id = GENL_ID_GENERATE, | ||
1440 | .hdrsize = sizeof(struct ovs_header), | 1438 | .hdrsize = sizeof(struct ovs_header), |
1441 | .name = OVS_FLOW_FAMILY, | 1439 | .name = OVS_FLOW_FAMILY, |
1442 | .version = OVS_FLOW_VERSION, | 1440 | .version = OVS_FLOW_VERSION, |
@@ -1822,7 +1820,6 @@ static const struct genl_ops dp_datapath_genl_ops[] = { | |||
1822 | }; | 1820 | }; |
1823 | 1821 | ||
1824 | static struct genl_family dp_datapath_genl_family = { | 1822 | static struct genl_family dp_datapath_genl_family = { |
1825 | .id = GENL_ID_GENERATE, | ||
1826 | .hdrsize = sizeof(struct ovs_header), | 1823 | .hdrsize = sizeof(struct ovs_header), |
1827 | .name = OVS_DATAPATH_FAMILY, | 1824 | .name = OVS_DATAPATH_FAMILY, |
1828 | .version = OVS_DATAPATH_VERSION, | 1825 | .version = OVS_DATAPATH_VERSION, |
@@ -2244,7 +2241,6 @@ static const struct genl_ops dp_vport_genl_ops[] = { | |||
2244 | }; | 2241 | }; |
2245 | 2242 | ||
2246 | struct genl_family dp_vport_genl_family = { | 2243 | struct genl_family dp_vport_genl_family = { |
2247 | .id = GENL_ID_GENERATE, | ||
2248 | .hdrsize = sizeof(struct ovs_header), | 2244 | .hdrsize = sizeof(struct ovs_header), |
2249 | .name = OVS_VPORT_FAMILY, | 2245 | .name = OVS_VPORT_FAMILY, |
2250 | .version = OVS_VPORT_VERSION, | 2246 | .version = OVS_VPORT_VERSION, |