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>
This commit is contained in:

committed by
David S. Miller

parent
c90c39dab3
commit
a07ea4d994
@@ -671,7 +671,6 @@ static const struct genl_ops dp_packet_genl_ops[] = {
|
||||
};
|
||||
|
||||
static struct genl_family dp_packet_genl_family = {
|
||||
.id = GENL_ID_GENERATE,
|
||||
.hdrsize = sizeof(struct ovs_header),
|
||||
.name = OVS_PACKET_FAMILY,
|
||||
.version = OVS_PACKET_VERSION,
|
||||
@@ -1436,7 +1435,6 @@ static const struct genl_ops dp_flow_genl_ops[] = {
|
||||
};
|
||||
|
||||
static struct genl_family dp_flow_genl_family = {
|
||||
.id = GENL_ID_GENERATE,
|
||||
.hdrsize = sizeof(struct ovs_header),
|
||||
.name = OVS_FLOW_FAMILY,
|
||||
.version = OVS_FLOW_VERSION,
|
||||
@@ -1822,7 +1820,6 @@ static const struct genl_ops dp_datapath_genl_ops[] = {
|
||||
};
|
||||
|
||||
static struct genl_family dp_datapath_genl_family = {
|
||||
.id = GENL_ID_GENERATE,
|
||||
.hdrsize = sizeof(struct ovs_header),
|
||||
.name = OVS_DATAPATH_FAMILY,
|
||||
.version = OVS_DATAPATH_VERSION,
|
||||
@@ -2244,7 +2241,6 @@ static const struct genl_ops dp_vport_genl_ops[] = {
|
||||
};
|
||||
|
||||
struct genl_family dp_vport_genl_family = {
|
||||
.id = GENL_ID_GENERATE,
|
||||
.hdrsize = sizeof(struct ovs_header),
|
||||
.name = OVS_VPORT_FAMILY,
|
||||
.version = OVS_VPORT_VERSION,
|
||||
|
Reference in New Issue
Block a user