aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Denis-Courmont <remi.denis-courmont@nokia.com>2008-12-17 18:47:48 -0500
committerDavid S. Miller <davem@davemloft.net>2008-12-17 18:47:48 -0500
commit57c81fffc863fb4c1804bc963bcbfb82d736c6df (patch)
tree2b30247417b6656f557f34831a113a7ec1d531f2
parent2d91d78b68606ff7ce52ea70e187dee7831aa2f6 (diff)
Phonet: allocate separate ARP type for GPRS over a Phonet pipe
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>
-rw-r--r--include/linux/if_arp.h1
-rw-r--r--net/core/dev.c4
-rw-r--r--net/phonet/pep-gprs.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/if_arp.h b/include/linux/if_arp.h
index 11df77ab2dbb..5ff89809a581 100644
--- a/include/linux/if_arp.h
+++ b/include/linux/if_arp.h
@@ -88,6 +88,7 @@
88#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */ 88#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */
89 89
90#define ARPHRD_PHONET 820 /* PhoNet media type */ 90#define ARPHRD_PHONET 820 /* PhoNet media type */
91#define ARPHRD_PHONET_PIPE 821 /* PhoNet pipe header */
91 92
92#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */ 93#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */
93#define ARPHRD_NONE 0xFFFE /* zero header length */ 94#define ARPHRD_NONE 0xFFFE /* zero header length */
diff --git a/net/core/dev.c b/net/core/dev.c
index 15aab0c46d6d..048cf1197872 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -284,7 +284,7 @@ static const unsigned short netdev_lock_type[] =
284 ARPHRD_IRDA, ARPHRD_FCPP, ARPHRD_FCAL, ARPHRD_FCPL, 284 ARPHRD_IRDA, ARPHRD_FCPP, ARPHRD_FCAL, ARPHRD_FCPL,
285 ARPHRD_FCFABRIC, ARPHRD_IEEE802_TR, ARPHRD_IEEE80211, 285 ARPHRD_FCFABRIC, ARPHRD_IEEE802_TR, ARPHRD_IEEE80211,
286 ARPHRD_IEEE80211_PRISM, ARPHRD_IEEE80211_RADIOTAP, ARPHRD_PHONET, 286 ARPHRD_IEEE80211_PRISM, ARPHRD_IEEE80211_RADIOTAP, ARPHRD_PHONET,
287 ARPHRD_VOID, ARPHRD_NONE}; 287 ARPHRD_PHONET_PIPE, ARPHRD_VOID, ARPHRD_NONE};
288 288
289static const char *netdev_lock_name[] = 289static const char *netdev_lock_name[] =
290 {"_xmit_NETROM", "_xmit_ETHER", "_xmit_EETHER", "_xmit_AX25", 290 {"_xmit_NETROM", "_xmit_ETHER", "_xmit_EETHER", "_xmit_AX25",
@@ -301,7 +301,7 @@ static const char *netdev_lock_name[] =
301 "_xmit_IRDA", "_xmit_FCPP", "_xmit_FCAL", "_xmit_FCPL", 301 "_xmit_IRDA", "_xmit_FCPP", "_xmit_FCAL", "_xmit_FCPL",
302 "_xmit_FCFABRIC", "_xmit_IEEE802_TR", "_xmit_IEEE80211", 302 "_xmit_FCFABRIC", "_xmit_IEEE802_TR", "_xmit_IEEE80211",
303 "_xmit_IEEE80211_PRISM", "_xmit_IEEE80211_RADIOTAP", "_xmit_PHONET", 303 "_xmit_IEEE80211_PRISM", "_xmit_IEEE80211_RADIOTAP", "_xmit_PHONET",
304 "_xmit_VOID", "_xmit_NONE"}; 304 "_xmit_PHONET_PIPE", "_xmit_VOID", "_xmit_NONE"};
305 305
306static struct lock_class_key netdev_xmit_lock_key[ARRAY_SIZE(netdev_lock_type)]; 306static struct lock_class_key netdev_xmit_lock_key[ARRAY_SIZE(netdev_lock_type)];
307static struct lock_class_key netdev_addr_lock_key[ARRAY_SIZE(netdev_lock_type)]; 307static struct lock_class_key netdev_addr_lock_key[ARRAY_SIZE(netdev_lock_type)];
diff --git a/net/phonet/pep-gprs.c b/net/phonet/pep-gprs.c
index 0b640b0fce0c..a2873203dff2 100644
--- a/net/phonet/pep-gprs.c
+++ b/net/phonet/pep-gprs.c
@@ -260,7 +260,7 @@ static int gprs_set_mtu(struct net_device *dev, int new_mtu)
260static void gprs_setup(struct net_device *dev) 260static void gprs_setup(struct net_device *dev)
261{ 261{
262 dev->features = NETIF_F_FRAGLIST; 262 dev->features = NETIF_F_FRAGLIST;
263 dev->type = ARPHRD_NONE; 263 dev->type = ARPHRD_PHONET_PIPE;
264 dev->flags = IFF_POINTOPOINT | IFF_NOARP; 264 dev->flags = IFF_POINTOPOINT | IFF_NOARP;
265 dev->mtu = GPRS_DEFAULT_MTU; 265 dev->mtu = GPRS_DEFAULT_MTU;
266 dev->hard_header_len = 0; 266 dev->hard_header_len = 0;