[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071108.033650.113099372.yoshfuji@linux-ipv6.org>
Date: Thu, 08 Nov 2007 03:36:50 +0900 (JST)
From: YOSHIFUJI Hideaki / 吉藤英明
<yoshfuji@...ux-ipv6.org>
To: Fred.L.Templin@...ing.com
Cc: netdev@...r.kernel.org, yoshfuji@...ux-ipv6.org
Subject: Re: [PATCH 04/05] ipv6: RFC4214 Support
Hello.
In article <39C363776A4E8C4A94691D2BD9D1C9A1029EDBE5@...-NW-7V2.nw.nos.boeing.com> (at Tue, 6 Nov 2007 17:16:11 -0800), "Templin, Fred L" <Fred.L.Templin@...ing.com> says:
> @@ -154,6 +155,14 @@ static struct ip_tunnel * ipip6_tunnel_l
> struct net_device *dev;
> char name[IFNAMSIZ];
>
> +#if defined(CONFIG_IPV6_ISATAP)
> + /* ISATAP (RFC4214) - router address in daddr */
> + if (!strncmp(parms->name, "isatap", 6)) {
> + parms->i_key = parms->iph.daddr;
> + parms->iph.daddr = remote = 0;
> + }
> +#endif
> +
> for (tp = __ipip6_bucket(parms); (t = *tp) != NULL; tp =
> &t->next) {
> if (local == t->parms.iph.saddr && remote ==
> t->parms.iph.daddr)
> return t;
I do not think it is a good idea to change the behavior based on
the interface name.
> @@ -182,6 +191,11 @@ static struct ip_tunnel * ipip6_tunnel_l
> dev->init = ipip6_tunnel_init;
> nt->parms = *parms;
>
> +#if defined(CONFIG_IPV6_ISATAP)
> + if (!strncmp(dev->name, "isatap", 6))
> + dev->priv_flags |= IFF_ISATAP;
> +#endif
> +
ditto.
> + if (!(ipv6_addr_is_isatap(addr6)) ||
> + (addr6->s6_addr32[3] != iph->saddr)) {
> +drop:
> + tunnel->stat.rx_errors++;
you can unlock here.
> + dst_release(dst);
> + kfree_skb(skb);
> + read_unlock(&ipip6_lock);
> + return 0;
> + }
> + dst_release(dst);
> + }
> +accept:
> +#endif
--yoshfuji
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists