X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=net%2Fnetrom%2Fnr_dev.c;h=8c68da5ef0a17840a017dcf92993e8842d744952;hb=41f81e88e01eb959f439f8537c58078e4bfc5291;hp=4700d5225b78f59aff3b5f8154064bf4d06a7ebd;hpb=3a960f7e350de5d087b88a4c06df236e0f4186fd;p=powerpc.git diff --git a/net/netrom/nr_dev.c b/net/netrom/nr_dev.c index 4700d5225b..8c68da5ef0 100644 --- a/net/netrom/nr_dev.c +++ b/net/netrom/nr_dev.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -57,8 +56,8 @@ int nr_rx_ip(struct sk_buff *skb, struct net_device *dev) /* Spoof incoming device */ skb->dev = dev; - skb->mac.raw = skb->nh.raw; - skb->nh.raw = skb->data; + skb_reset_mac_header(skb); + skb_reset_network_header(skb); skb->pkt_type = PACKET_HOST; netif_rx(skb); @@ -96,8 +95,9 @@ static int nr_rebuild_header(struct sk_buff *skb) #endif -static int nr_header(struct sk_buff *skb, struct net_device *dev, unsigned short type, - void *daddr, void *saddr, unsigned len) +static int nr_header(struct sk_buff *skb, struct net_device *dev, + unsigned short type, + const void *daddr, const void *saddr, unsigned len) { unsigned char *buff = skb_push(skb, NR_NETWORK_LEN + NR_TRANSPORT_LEN); @@ -194,6 +194,12 @@ static struct net_device_stats *nr_get_stats(struct net_device *dev) return &nr->stats; } +static const struct header_ops nr_header_ops = { + .create = nr_header, + .rebuild= nr_rebuild_header, +}; + + void nr_setup(struct net_device *dev) { dev->mtu = NR_MAX_PACKET_SIZE; @@ -201,11 +207,10 @@ void nr_setup(struct net_device *dev) dev->open = nr_open; dev->stop = nr_close; - dev->hard_header = nr_header; + dev->header_ops = &nr_header_ops; dev->hard_header_len = NR_NETWORK_LEN + NR_TRANSPORT_LEN; dev->addr_len = AX25_ADDR_LEN; dev->type = ARPHRD_NETROM; - dev->rebuild_header = nr_rebuild_header; dev->set_mac_address = nr_set_mac_address; /* New-style flags. */