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:
parent
9a4615be65
commit
246ef40670
@ -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)
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user