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,
|
.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 = {
|
struct neigh_table arp_tbl = {
|
||||||
.family = AF_INET,
|
.family = AF_INET,
|
||||||
.key_len = 4,
|
.key_len = 4,
|
||||||
@ -260,35 +252,6 @@ static int arp_constructor(struct neighbour *neigh)
|
|||||||
in old paradigm.
|
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) {
|
if (neigh->type == RTN_MULTICAST) {
|
||||||
neigh->nud_state = NUD_NOARP;
|
neigh->nud_state = NUD_NOARP;
|
||||||
arp_mc_map(addr, neigh->ha, dev, 1);
|
arp_mc_map(addr, neigh->ha, dev, 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user