ax25: Refactor to use private neighbour operations.
AX25 already has it's own private arp cache operations to isolate it's abuse of dev_rebuild_header to transmit packets. Add a function ax25_neigh_construct that will allow all of the ax25 devices to force using these operations, so that the generic arp code does not need to. Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-hams@vger.kernel.org Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
46d4e47abe
commit
3b6a94bed0
@@ -626,6 +626,7 @@ static const struct net_device_ops hdlcdrv_netdev = {
|
||||
.ndo_start_xmit = hdlcdrv_send_packet,
|
||||
.ndo_do_ioctl = hdlcdrv_ioctl,
|
||||
.ndo_set_mac_address = hdlcdrv_set_mac_address,
|
||||
.ndo_neigh_construct = ax25_neigh_construct,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -676,6 +677,7 @@ static void hdlcdrv_setup(struct net_device *dev)
|
||||
dev->header_ops = &ax25_header_ops;
|
||||
|
||||
dev->type = ARPHRD_AX25; /* AF_AX25 device */
|
||||
dev->neigh_priv_len = sizeof(struct ax25_neigh_priv);
|
||||
dev->hard_header_len = AX25_MAX_HEADER_LEN + AX25_BPQ_HEADER_LEN;
|
||||
dev->mtu = AX25_DEF_PACLEN; /* eth_mtu is the default */
|
||||
dev->addr_len = AX25_ADDR_LEN; /* sizeof an ax.25 address */
|
||||
|
Reference in New Issue
Block a user