ipv6: eliminate ndisc_ops_is_useropt()

as it doesn't seem to offer anything of value.

There's only 1 trivial user:
  int lowpan_ndisc_is_useropt(u8 nd_opt_type) {
    return nd_opt_type == ND_OPT_6CO;
  }

but there's no harm to always treating that as
a useropt...

Cc: David Ahern <dsahern@kernel.org>
Cc: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Link: https://patch.msgid.link/20240730003010.156977-1-maze@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Maciej Żenczykowski 2024-07-29 17:30:10 -07:00 committed by Jakub Kicinski
parent 9a4615be65
commit 246ef40670
3 changed files with 2 additions and 23 deletions

View File

@ -147,11 +147,6 @@ void __ndisc_fill_addr_option(struct sk_buff *skb, int type, const void *data,
* The following hooks can be defined; unless noted otherwise, they are * The following hooks can be defined; unless noted otherwise, they are
* optional and can be filled with a null pointer. * optional and can be filled with a null pointer.
* *
* int (*is_useropt)(u8 nd_opt_type):
* This function is called when IPv6 decide RA userspace options. if
* this function returns 1 then the option given by nd_opt_type will
* be handled as userspace option additional to the IPv6 options.
*
* int (*parse_options)(const struct net_device *dev, * int (*parse_options)(const struct net_device *dev,
* struct nd_opt_hdr *nd_opt, * struct nd_opt_hdr *nd_opt,
* struct ndisc_options *ndopts): * struct ndisc_options *ndopts):
@ -200,7 +195,6 @@ void __ndisc_fill_addr_option(struct sk_buff *skb, int type, const void *data,
* addresses. E.g. 802.15.4 6LoWPAN. * addresses. E.g. 802.15.4 6LoWPAN.
*/ */
struct ndisc_ops { struct ndisc_ops {
int (*is_useropt)(u8 nd_opt_type);
int (*parse_options)(const struct net_device *dev, int (*parse_options)(const struct net_device *dev,
struct nd_opt_hdr *nd_opt, struct nd_opt_hdr *nd_opt,
struct ndisc_options *ndopts); struct ndisc_options *ndopts);
@ -224,15 +218,6 @@ struct ndisc_ops {
}; };
#if IS_ENABLED(CONFIG_IPV6) #if IS_ENABLED(CONFIG_IPV6)
static inline int ndisc_ops_is_useropt(const struct net_device *dev,
u8 nd_opt_type)
{
if (dev->ndisc_ops && dev->ndisc_ops->is_useropt)
return dev->ndisc_ops->is_useropt(nd_opt_type);
else
return 0;
}
static inline int ndisc_ops_parse_options(const struct net_device *dev, static inline int ndisc_ops_parse_options(const struct net_device *dev,
struct nd_opt_hdr *nd_opt, struct nd_opt_hdr *nd_opt,
struct ndisc_options *ndopts) struct ndisc_options *ndopts)

View File

@ -11,11 +11,6 @@
#include "6lowpan_i.h" #include "6lowpan_i.h"
static int lowpan_ndisc_is_useropt(u8 nd_opt_type)
{
return nd_opt_type == ND_OPT_6CO;
}
#if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN) #if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN)
#define NDISC_802154_SHORT_ADDR_LENGTH 1 #define NDISC_802154_SHORT_ADDR_LENGTH 1
static int lowpan_ndisc_parse_802154_options(const struct net_device *dev, static int lowpan_ndisc_parse_802154_options(const struct net_device *dev,
@ -222,7 +217,6 @@ static void lowpan_ndisc_prefix_rcv_add_addr(struct net *net,
#endif #endif
const struct ndisc_ops lowpan_ndisc_ops = { const struct ndisc_ops lowpan_ndisc_ops = {
.is_useropt = lowpan_ndisc_is_useropt,
#if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN) #if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN)
.parse_options = lowpan_ndisc_parse_options, .parse_options = lowpan_ndisc_parse_options,
.update = lowpan_ndisc_update, .update = lowpan_ndisc_update,

View File

@ -200,9 +200,9 @@ static inline int ndisc_is_useropt(const struct net_device *dev,
return opt->nd_opt_type == ND_OPT_PREFIX_INFO || return opt->nd_opt_type == ND_OPT_PREFIX_INFO ||
opt->nd_opt_type == ND_OPT_RDNSS || opt->nd_opt_type == ND_OPT_RDNSS ||
opt->nd_opt_type == ND_OPT_DNSSL || opt->nd_opt_type == ND_OPT_DNSSL ||
opt->nd_opt_type == ND_OPT_6CO ||
opt->nd_opt_type == ND_OPT_CAPTIVE_PORTAL || opt->nd_opt_type == ND_OPT_CAPTIVE_PORTAL ||
opt->nd_opt_type == ND_OPT_PREF64 || opt->nd_opt_type == ND_OPT_PREF64;
ndisc_ops_is_useropt(dev, opt->nd_opt_type);
} }
static struct nd_opt_hdr *ndisc_next_useropt(const struct net_device *dev, static struct nd_opt_hdr *ndisc_next_useropt(const struct net_device *dev,