PATCH: [SKBUFF] introduce ax25_type_trans
Subsystems (2)
Hi David,
Please consider pulling from:
bk://kernel.bkbits.net/acme/sk_buff-2.6
Now there are nine outstanding changesets in this tree.
Regards,
- Arnaldo
===================================================================
[email protected], 2004-10-04 11:36:34-03:00, [email protected]
[SKBUFF] introduce ax25_type_trans
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by David S. Miller <[email protected]>
drivers/net/hamradio/6pack.c | 6 +----- drivers/net/hamradio/baycom_epp.c | 4 +--- drivers/net/hamradio/bpqether.c | 6 +----- drivers/net/hamradio/dmascc.c | 4 +--- drivers/net/hamradio/hdlcdrv.c | 4 +--- drivers/net/hamradio/mkiss.c | 4 +--- drivers/net/hamradio/scc.c | 6 +----- drivers/net/hamradio/yam.c | 4 +--- include/net/ax25.h | 9 +++++++++ 9 files changed, 17 insertions(+), 30 deletions(-)
drivers/net/hamradio/6pack.c +1 -5
@@ -424,17 +424,13 @@if ((skb =dev_alloc_skb (count)) ==NULL ) goto out_mem; - skb->dev = sp->dev; ptr =skb_put (skb, count); *ptr++ = cmd;/* KISS command */ -memcpy (ptr, sp->cooked_buf +1 , count); -skb_set_link_header (skb); - skb->protocol =htons (ETH_P_AX25 ); + skb->protocol =ax25_type_trans (skb, sp->dev);netif_rx (skb); sp->dev->last_rx = jiffies; sp->stats.rx_packets++; -return ; out_mem:
drivers/net/hamradio/baycom_epp.c +1 -3
@@ -619,12 +619,10 @@ bc->stats.rx_dropped++;return ; } - skb->dev = dev; cp =skb_put (skb, pktlen); *cp++ =0 ;/* KISS kludge */ memcpy (cp, bc->hdlcrx.buf, pktlen -1 ); - skb->protocol =htons (ETH_P_AX25 ); -skb_set_link_header (skb); + skb->protocol =ax25_type_trans (skb, dev);netif_rx (skb); dev->last_rx = jiffies; bc->stats.rx_packets++;
drivers/net/hamradio/bpqether.c +1 -5
@@ -213,11 +213,7 @@ ptr =skb_push (skb,1 ); *ptr =0 ; - skb->dev = dev; - skb->protocol =htons (ETH_P_AX25 ); -skb_set_link_header (skb); - skb->pkt_type =PACKET_HOST ; - + skb->protocol =ax25_type_trans (skb, dev);netif_rx (skb); dev->last_rx = jiffies; unlock:
drivers/net/hamradio/dmascc.c +1 -3
@@ -1222,9 +1222,7 @@ data =skb_put (skb, cb+1 ); data[0 ] =0 ;memcpy (&data[1 ], priv->rx_buf[i], cb); - skb->dev = priv->dev; - skb->protocol =ntohs (ETH_P_AX25 ); -skb_set_link_header (skb); + skb->protocol =ax25_type_trans (skb, priv->dev);netif_rx (skb); priv->dev->last_rx = jiffies; priv->stats.rx_packets++;
drivers/net/hamradio/hdlcdrv.c +1 -3
@@ -174,12 +174,10 @@ s->stats.rx_dropped++;return ; } - skb->dev = dev; cp =skb_put (skb, pkt_len); *cp++ =0 ;/* KISS kludge */ memcpy (cp, s->hdlcrx.buffer, pkt_len -1 ); - skb->protocol =htons (ETH_P_AX25 ); -skb_set_link_header (skb); + skb->protocol =ax25_type_trans (skb, dev);netif_rx (skb); dev->last_rx = jiffies; s->stats.rx_packets++;
drivers/net/hamradio/mkiss.c +1 -3
@@ -332,12 +332,10 @@return ; } - skb->dev = ax->dev;spin_lock_bh (&ax->buflock);memcpy (skb_put (skb,count), ax->rbuff, count);spin_unlock_bh (&ax->buflock); -skb_set_link_header (skb); - skb->protocol =htons (ETH_P_AX25 ); + skb->protocol =ax25_type_trans (skb, ax->dev);netif_rx (skb); ax->dev->last_rx = jiffies; ax->rx_packets++;
drivers/net/hamradio/scc.c +1 -5
@@ -1630,11 +1630,7 @@ scc->dev_stat.rx_packets++; scc->dev_stat.rx_bytes += skb->len; - skb->dev = scc->dev; - skb->protocol =htons (ETH_P_AX25 ); -skb_set_link_header (skb); - skb->pkt_type =PACKET_HOST ; - + skb->protocol =ax25_type_trans (skb, scc->dev);netif_rx (skb); scc->dev->last_rx = jiffies;return ;
drivers/net/hamradio/yam.c +1 -3
@@ -522,12 +522,10 @@ ++yp->stats.rx_dropped; }else {unsigned char *cp; - skb->dev = dev; cp =skb_put (skb, pkt_len); *cp++ =0 ;/* KISS kludge */ memcpy (cp, yp->rx_buf, pkt_len -1 ); - skb->protocol =htons (ETH_P_AX25 ); -skb_set_link_header (skb); + skb->protocol =ax25_type_trans (skb, dev);netif_rx (skb); dev->last_rx = jiffies; ++yp->stats.rx_packets;
include/net/ax25.h +9 -0
@@ -220,6 +220,15 @@ } } +static inline unsigned short ax25_type_trans (struct sk_buff *skb, +struct net_device *dev) +{ + skb->dev = dev; + skb->pkt_type =PACKET_HOST ; +skb_set_link_header (skb); +return htons (ETH_P_AX25 ); +} +/* af_ax25.c */ extern struct hlist_head ax25_list;extern spinlock_t ax25_list_lock;