[PATCH] arp: Remove the arp_hh_ops structure

From: Yejune Deng
Date: Fri Feb 19 2021 - 23:36:25 EST


The 'arp_hh_ops' structure is similar to the 'arp_generic_ops' structure.
So remove the 'arp_hh_ops' structure.

Signed-off-by: Yejune Deng <yejune.deng@xxxxxxxxx>
---
net/ipv4/arp.c | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 922dd73e5740..6d60d9b89286 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -135,14 +135,6 @@ static const struct neigh_ops arp_generic_ops = {
.connected_output = neigh_connected_output,
};

-static const struct neigh_ops arp_hh_ops = {
- .family = AF_INET,
- .solicit = arp_solicit,
- .error_report = arp_error_report,
- .output = neigh_resolve_output,
- .connected_output = neigh_resolve_output,
-};
-
static const struct neigh_ops arp_direct_ops = {
.family = AF_INET,
.output = neigh_direct_output,
@@ -277,15 +269,10 @@ static int arp_constructor(struct neighbour *neigh)
memcpy(neigh->ha, dev->broadcast, dev->addr_len);
}

- if (dev->header_ops->cache)
- neigh->ops = &arp_hh_ops;
- else
- neigh->ops = &arp_generic_ops;
-
- if (neigh->nud_state & NUD_VALID)
- neigh->output = neigh->ops->connected_output;
+ if (!dev->header_ops->cache && (neigh->nud_state & NUD_VALID))
+ neigh->output = arp_generic_ops.connected_output;
else
- neigh->output = neigh->ops->output;
+ neigh->output = arp_generic_ops.output;
}
return 0;
}
--
2.29.0