Phonet: allocate separate ARP type for GPRS over a Phonet pipe
authorRémi Denis-Courmont <remi.denis-courmont@nokia.com>
Wed, 17 Dec 2008 23:47:48 +0000 (15:47 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Dec 2008 23:47:48 +0000 (15:47 -0800)
A separate xmit lock class supports GPRS over a Phonet pipe over a TUN
device (type ARPHRD_NONE).

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_arp.h
net/core/dev.c
net/phonet/pep-gprs.c

index 11df77ab2dbb4415d0a91b2fa4184d7d1d0cbd54..5ff89809a581b507cdae24e501316849175b9528 100644 (file)
@@ -88,6 +88,7 @@
 #define ARPHRD_IEEE80211_RADIOTAP 803  /* IEEE 802.11 + radiotap header */
 
 #define ARPHRD_PHONET  820             /* PhoNet media type            */
+#define ARPHRD_PHONET_PIPE 821         /* PhoNet pipe header           */
 
 #define ARPHRD_VOID      0xFFFF        /* Void type, nothing is known */
 #define ARPHRD_NONE      0xFFFE        /* zero header length */
index 15aab0c46d6d3116d9b0a858082733a10d5866ab..048cf1197872fca60dc12317b3dd8ccd0b11236f 100644 (file)
@@ -284,7 +284,7 @@ static const unsigned short netdev_lock_type[] =
         ARPHRD_IRDA, ARPHRD_FCPP, ARPHRD_FCAL, ARPHRD_FCPL,
         ARPHRD_FCFABRIC, ARPHRD_IEEE802_TR, ARPHRD_IEEE80211,
         ARPHRD_IEEE80211_PRISM, ARPHRD_IEEE80211_RADIOTAP, ARPHRD_PHONET,
-        ARPHRD_VOID, ARPHRD_NONE};
+        ARPHRD_PHONET_PIPE, ARPHRD_VOID, ARPHRD_NONE};
 
 static const char *netdev_lock_name[] =
        {"_xmit_NETROM", "_xmit_ETHER", "_xmit_EETHER", "_xmit_AX25",
@@ -301,7 +301,7 @@ static const char *netdev_lock_name[] =
         "_xmit_IRDA", "_xmit_FCPP", "_xmit_FCAL", "_xmit_FCPL",
         "_xmit_FCFABRIC", "_xmit_IEEE802_TR", "_xmit_IEEE80211",
         "_xmit_IEEE80211_PRISM", "_xmit_IEEE80211_RADIOTAP", "_xmit_PHONET",
-        "_xmit_VOID", "_xmit_NONE"};
+        "_xmit_PHONET_PIPE", "_xmit_VOID", "_xmit_NONE"};
 
 static struct lock_class_key netdev_xmit_lock_key[ARRAY_SIZE(netdev_lock_type)];
 static struct lock_class_key netdev_addr_lock_key[ARRAY_SIZE(netdev_lock_type)];
index 0b640b0fce0c778e9a842e5de6dcdc2c0107d35a..a2873203dff2829ae88961a1bd3e1c4a7ee1cce3 100644 (file)
@@ -260,7 +260,7 @@ static int gprs_set_mtu(struct net_device *dev, int new_mtu)
 static void gprs_setup(struct net_device *dev)
 {
        dev->features           = NETIF_F_FRAGLIST;
-       dev->type               = ARPHRD_NONE;
+       dev->type               = ARPHRD_PHONET_PIPE;
        dev->flags              = IFF_POINTOPOINT | IFF_NOARP;
        dev->mtu                = GPRS_DEFAULT_MTU;
        dev->hard_header_len    = 0;