[PATCH] IPV6: ARCnet IPv6 support (1/2) Driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

IPv6 over ARCnet (RFC2497) support, driver part.
Patch is against 2.5.69.

I believe that this change is not harmful at all. However,
honestly speaking, since I don't have ARCnet hardware, I've never tested...

NOTE: I did not change MTU size while RFC says default MTU is 9072.

Index: include/linux/if_arcnet.h
===================================================================
RCS file: /cvsroot/usagi/usagi-backport/linux25/include/linux/if_arcnet.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 if_arcnet.h
--- include/linux/if_arcnet.h	7 Oct 2002 10:22:49 -0000	1.1.1.1
+++ include/linux/if_arcnet.h	15 May 2003 18:41:20 -0000
@@ -25,6 +25,7 @@
 
 /* RFC1201 Protocol ID's */
 #define ARC_P_IP		212	/* 0xD4 */
+#define ARC_P_IPV6		196	/* 0xC4: RFC2497 */
 #define ARC_P_ARP		213	/* 0xD5 */
 #define ARC_P_RARP		214	/* 0xD6 */
 #define ARC_P_IPX		250	/* 0xFA */
@@ -44,6 +45,9 @@
 #define ARC_P_POWERLAN_BEACON2	243	/* 0xF3 */
 #define ARC_P_LANSOFT		251	/* 0xFB - what is this? */
 #define ARC_P_ATALK		0xDD
+
+/* Hardware address length */
+#define ARCNET_ALEN	1
 
 /*
  * The RFC1201-specific components of an arcnet packet header.
Index: drivers/net/arcnet/arcnet.c
===================================================================
RCS file: /cvsroot/usagi/usagi-backport/linux25/drivers/net/arcnet/arcnet.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 arcnet.c
--- drivers/net/arcnet/arcnet.c	14 Apr 2003 04:32:39 -0000	1.1.1.2
+++ drivers/net/arcnet/arcnet.c	15 May 2003 18:41:26 -0000
@@ -340,7 +340,7 @@
 	dev->hard_header_len = sizeof(struct archdr);
 	dev->mtu = choose_mtu();
 
-	dev->addr_len = 1;
+	dev->addr_len = ARCNET_ALEN;
 	dev->tx_queue_len = 30;
 	dev->broadcast[0] = 0x00;	/* for us, broadcasts are address 0 */
 	dev->watchdog_timeo = TX_TIMEOUT;
Index: drivers/net/arcnet/rfc1201.c
===================================================================
RCS file: /cvsroot/usagi/usagi-backport/linux25/drivers/net/arcnet/rfc1201.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 rfc1201.c
--- drivers/net/arcnet/rfc1201.c	7 Oct 2002 10:21:43 -0000	1.1.1.1
+++ drivers/net/arcnet/rfc1201.c	15 May 2003 18:41:26 -0000
@@ -56,6 +56,7 @@
 void __init arcnet_rfc1201_init(void)
 {
 	arc_proto_map[ARC_P_IP]
+	    = arc_proto_map[ARC_P_IPV6]
 	    = arc_proto_map[ARC_P_ARP]
 	    = arc_proto_map[ARC_P_RARP]
 	    = arc_proto_map[ARC_P_IPX]
@@ -114,6 +115,8 @@
 	switch (soft->proto) {
 	case ARC_P_IP:
 		return htons(ETH_P_IP);
+	case ARC_P_IPV6:
+		return htons(ETH_P_IPV6);
 	case ARC_P_ARP:
 		return htons(ETH_P_ARP);
 	case ARC_P_RARP:
@@ -388,6 +391,9 @@
 	switch (type) {
 	case ETH_P_IP:
 		soft->proto = ARC_P_IP;
+		break;
+	case ETH_P_IPV6:
+		soft->proto = ARC_P_IPV6;
 		break;
 	case ETH_P_ARP:
 		soft->proto = ARC_P_ARP;

-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux