Yoshifuji,
> -----Original Message-----
> From: YOSHIFUJI Hideaki / 吉藤英明 [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 07, 2007 10:37 AM
> To: Templin, Fred L
> Cc: [email protected]; [EMAIL PROTECTED]
> Subject: Re: [PATCH 04/05] ipv6: RFC4214 Support
>
> Hello.
>
> In article
> <[EMAIL PROTECTED]
> eing.com> (at Tue, 6 Nov 2007 17:16:11 -0800), "Templin, Fred
> L" <[EMAIL PROTECTED]> 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.
The goal was to avoid requiring changes to applications such as
'iproute2', i.e., the intention was for a standalone code insertion point
within the kernel itself. What do you suggest?
> > @@ -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.
Same as above, but note that the name check is confined to these
two places.
>
> > + if (!(ipv6_addr_is_isatap(addr6)) ||
> > + (addr6->s6_addr32[3] != iph->saddr)) {
> > +drop:
> > + tunnel->stat.rx_errors++;
>
> you can unlock here.
OK; will fix.
Fred
[EMAIL PROTECTED]
> > + 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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html