mirror of https://gitee.com/openkylin/linux.git
arp: Remove special case to give AX25 it's open arp operations.
The special case has been pushed out into ax25_neigh_construct so there is no need to keep this code in arp.c Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3b6a94bed0
commit
21bfb8e933
|
@ -149,14 +149,6 @@ static const struct neigh_ops arp_direct_ops = {
|
|||
.connected_output = neigh_direct_output,
|
||||
};
|
||||
|
||||
static const struct neigh_ops arp_broken_ops = {
|
||||
.family = AF_INET,
|
||||
.solicit = arp_solicit,
|
||||
.error_report = arp_error_report,
|
||||
.output = neigh_compat_output,
|
||||
.connected_output = neigh_compat_output,
|
||||
};
|
||||
|
||||
struct neigh_table arp_tbl = {
|
||||
.family = AF_INET,
|
||||
.key_len = 4,
|
||||
|
@ -260,35 +252,6 @@ static int arp_constructor(struct neighbour *neigh)
|
|||
in old paradigm.
|
||||
*/
|
||||
|
||||
#if 1
|
||||
/* So... these "amateur" devices are hopeless.
|
||||
The only thing, that I can say now:
|
||||
It is very sad that we need to keep ugly obsolete
|
||||
code to make them happy.
|
||||
|
||||
They should be moved to more reasonable state, now
|
||||
they use rebuild_header INSTEAD OF hard_start_xmit!!!
|
||||
Besides that, they are sort of out of date
|
||||
(a lot of redundant clones/copies, useless in 2.1),
|
||||
I wonder why people believe that they work.
|
||||
*/
|
||||
switch (dev->type) {
|
||||
default:
|
||||
break;
|
||||
case ARPHRD_ROSE:
|
||||
#if IS_ENABLED(CONFIG_AX25)
|
||||
case ARPHRD_AX25:
|
||||
#if IS_ENABLED(CONFIG_NETROM)
|
||||
case ARPHRD_NETROM:
|
||||
#endif
|
||||
neigh->ops = &arp_broken_ops;
|
||||
neigh->output = neigh->ops->output;
|
||||
return 0;
|
||||
#else
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
if (neigh->type == RTN_MULTICAST) {
|
||||
neigh->nud_state = NUD_NOARP;
|
||||
arp_mc_map(addr, neigh->ha, dev, 1);
|
||||
|
|
Loading…
Reference in New Issue