This patch updates the Linux the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) implementation. It places the ISATAP potential router list (PRL) in the kernel and adds three new private ioctls for PRL management. The diffs are specific to the netdev net-2.6.25 development tree taken by "git pull" on 1/14/08.
Signed-off-by: Fred L. Templin <[EMAIL PROTECTED]> --- net-2.6.25/include/linux/skbuff.h.orig 2008-01-14 15:33:36.000000000 -0800 +++ net-2.6.25/include/linux/skbuff.h 2008-01-14 15:43:06.000000000 -0800 @@ -311,7 +311,8 @@ struct sk_buff { __u16 tc_verd; /* traffic control verdict */ #endif #endif - /* 2 byte hole */ + __u8 rtr_type; + /* 1 byte hole */ #ifdef CONFIG_NET_DMA dma_cookie_t dma_cookie; --- net-2.6.25/include/linux/if_tunnel.h.orig 2008-01-14 15:33:36.000000000 -0800 +++ net-2.6.25/include/linux/if_tunnel.h 2008-01-14 15:42:14.000000000 -0800 @@ -7,6 +7,9 @@ #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) #define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2) #define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3) +#define SIOCADDPRL (SIOCDEVPRIVATE + 4) +#define SIOCDELPRL (SIOCDEVPRIVATE + 5) +#define SIOCCHGPRL (SIOCDEVPRIVATE + 6) #define GRE_CSUM __constant_htons(0x8000) #define GRE_ROUTING __constant_htons(0x4000) @@ -17,9 +20,6 @@ #define GRE_FLAGS __constant_htons(0x00F8) #define GRE_VERSION __constant_htons(0x0007) -/* i_flags values for SIT mode */ -#define SIT_ISATAP 0x0001 - struct ip_tunnel_parm { char name[IFNAMSIZ]; @@ -30,5 +30,15 @@ struct ip_tunnel_parm __be32 o_key; struct iphdr iph; }; +/* SIT-mode i_flags */ +#define SIT_ISATAP 0x0001 + +struct ip_tunnel_prladdr { + __be32 addr; + __be16 flags; + __be16 rsvd; +}; +/* PRL flags */ +#define PRL_BORDER 0x0001 #endif /* _IF_TUNNEL_H_ */ --- net-2.6.25/include/net/ipip.h.orig 2008-01-14 15:33:36.000000000 -0800 +++ net-2.6.25/include/net/ipip.h 2008-01-14 15:41:21.000000000 -0800 @@ -24,6 +24,13 @@ struct ip_tunnel int mlink; struct ip_tunnel_parm parms; + struct ip_tunnel_prlent *prl; /* potential router list */ +}; + +struct ip_tunnel_prlent +{ + struct ip_tunnel_prlent *next; + struct ip_tunnel_prladdr ent; }; #define IPTUNNEL_XMIT() do { \ --- net-2.6.25/include/net/ndisc.h.orig 2008-01-14 15:40:28.000000000 -0800 +++ net-2.6.25/include/net/ndisc.h 2008-01-15 08:43:21.000000000 -0800 @@ -12,6 +12,16 @@ #define NDISC_REDIRECT 137 /* + * Router type: cross-layer information from link-layer to + * IPv6 layer reported by certain link types (e.g., RFC4214). + */ + +#define RTRTYPE_UNSPEC 0 /* unspecified (default) */ +#define RTRTYPE_HOST 1 /* host or unauthorized router */ +#define RTRTYPE_INTERIOR 2 /* site-interior router */ +#define RTRTYPE_BORDER 3 /* site border router */ + +/* * ndisc options */ -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html