ax25: Stop using magic neighbour cache operations.
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 3 Mar 2015 15:41:47 +0000 (09:41 -0600)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Mar 2015 19:44:41 +0000 (14:44 -0500)
commit1d5da757da860a6916adbf68b09e868062b4b3b8
treedeee80ad76638718a7babc524235ff13f35b2f98
parentbcc90e3fb132f009e647c9032eab4fedb6399339
ax25: Stop using magic neighbour cache operations.

Before the ax25 stack calls dev_queue_xmit it always calls
ax25_type_trans which sets skb->protocol to ETH_P_AX25.

Which means that by looking at the protocol type it is possible to
detect IP packets that have not been munged by the ax25 stack in
ndo_start_xmit and call a function to munge them.

Rename ax25_neigh_xmit to ax25_ip_xmit and tweak the return type and
value to be appropriate for an ndo_start_xmit function.

Update all of the ax25 devices to test the protocol type for ETH_P_IP
and return ax25_ip_xmit as the first thing they do.  This preserves
the existing semantics of IP packet processing, but the timing will be
a little different as the IP packets now pass through the qdisc layer
before reaching the ax25 ip packet processing.

Remove the now unnecessary ax25 neighbour table operations.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hamradio/6pack.c
drivers/net/hamradio/baycom_epp.c
drivers/net/hamradio/bpqether.c
drivers/net/hamradio/dmascc.c
drivers/net/hamradio/hdlcdrv.c
drivers/net/hamradio/mkiss.c
drivers/net/hamradio/scc.c
drivers/net/hamradio/yam.c
include/net/ax25.h
net/ax25/ax25_ip.c