[1/3] batman-adv: genetlink: no longer support using static family IDs

Message ID 20161029080328.26584-1-sven@narfation.org (mailing list archive)
State Accepted, archived
Commit 7582ad17bc6f5ff925ac85d79370956c72d842a5
Delegated to: Sven Eckelmann
Headers

Commit Message

Sven Eckelmann Oct. 29, 2016, 8:03 a.m. UTC
  From: Johannes Berg <johannes.berg@intel.com>

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>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
Patch already in net-next

 net/batman-adv/netlink.c | 1 -
 1 file changed, 1 deletion(-)
  

Comments

Sven Eckelmann Nov. 1, 2016, 7:29 a.m. UTC | #1
On Samstag, 29. Oktober 2016 10:03:26 CET Sven Eckelmann wrote:
> From: Johannes Berg <johannes.berg@intel.com>
> 
> 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>
> Signed-off-by: Sven Eckelmann <sven@narfation.org>
> ---
> Patch already in net-next
> 
>  net/batman-adv/netlink.c | 1 -
>  1 file changed, 1 deletion(-)

Applied in 83e3cb32617d07a33fb43faa0957b91b3ac622c5 [1].

Kind regards,
        Sven

[1] https://git.open-mesh.org/batman-adv.git/commit/83e3cb32617d07a33fb43faa0957b91b3ac622c5
  

Patch

diff --git a/net/batman-adv/netlink.c b/net/batman-adv/netlink.c
index aee20a3..a951e02 100644
--- a/net/batman-adv/netlink.c
+++ b/net/batman-adv/netlink.c
@@ -49,7 +49,6 @@ 
 #include "translation-table.h"
 
 struct genl_family batadv_netlink_family = {
-	.id = GENL_ID_GENERATE,
 	.hdrsize = 0,
 	.name = BATADV_NL_NAME,
 	.version = 1,