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