Hi Suresh,

> Your understanding above is correct, but your conclusion does not 
> follow. The problem is that a new extension header may decide to have 
> the Header length at another location than the second byte or 
> not have 
> one at all. The goal of the GIEH is to force all new 
> extension headers 
> to have the Header length at a KNOWN location in order to 
> skip over them

I had posted a draft yesterday and is temporarily available here (should get 
announced in a day or two):

http://www.ietf.org/staging/draft-bhatia-6man-update-ipv6-ext-hdr-00.txt

This proposes a standard format for all IPv6 extension headers so that there is 
no such ambiguity.

Also, I don't think it's a good idea to let new extensions define the Header 
length in some arbitrary location as it would become really messy for the HW to 
parse such packets.

> 
> > 
> > The reason I said this solution is incomplete is because it 
> still doesn't solve the problem of an end node receiving an 
> IPv6 packet with some extension header that it does not 
> understand. What should it do with the packet? Discard it and 
> send an ICMP error back to the original source? If so, then 
> how do you incrementally deploy new extension headers in a network.
> 
> Yes. This (discard+ICMP) would be the expected behavior. I do 
> not think 
> that extension headers should require any other behavior (please see 
> below). I see incremental deployment as requiring two consenting 
> end-points talking over an unaware network.

Not all the time.

You can look 
http://tools.ietf.org/id/draft-bhatia-karp-non-ipsec-ospfv3-auth-00.txt for an 
example of why this may not necessarily be true. 

Also, I think we should have a generalized solution that works for all the 
cases.

Cheers, Manav


> > IMO, a complete solution is to standardize the new IPv6 
> extension headers that are allocated in the future to the 
> following format:
> > 
> > 0                   1                   2                   3
> >     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >    |  Next Header  |  Hdr Ext Len  | Hdr Options   |               |
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
> >    |                                                               |
> >    .                                                               .
> >    .                  Header Specific Data                         .
> >    .                                                               .
> >    |                                                               |
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> > 
> > We have added a 1 byte field called Hdr Options which 
> should contain information about how this extension header 
> must be treated in case the processing node does not 
> recognize the extension header. Note that the processing node 
> can be either a device that's deep inspecting the packets 
> (firewall) or an end-node.
> > 
> > We can define the first two bits as follows:
> > 
> > 00 - Skip and continue processing (used for incremental deployments)
> > 01 - Silently discard the packet (could again be used for 
> incremental deployments)
> > 10 - Discard the packet and send ICMP parameter problem 
> message to the source
> > 11 - Discard the packet and send an ICMP error back to the 
> source only if the destination is NOT a multicast address
> > 
> > This solution fixes the problem that GIEH is solving and 
> additionally helps in incrementally introducing new extension 
> headers in the network. 
> 
> As specified in RFC2460, if this kind of behavior is 
> required, I think 
> it is better to use Destination Options rather than an 
> extension header. 
> Quoting straight from there.
> 
> "      o  If the desired action is for the destination node to discard
>           the packet and, only if the packet's Destination 
> Address is not
>           a multicast address, send an ICMP Unrecognized Type 
> message to
>           the packet's Source Address, then the information may be
>           encoded either as a separate header or as an option in the
>           Destination Options header whose Option Type has 
> the value 11
>           in its highest-order two bits.  The choice may 
> depend on such
>           factors as which takes fewer octets, or which yields better
>           alignment or more efficient parsing.
> 
>        o  If any other action is desired, the information 
> must be encoded
>           as an option in the Destination Options header whose ..."
> 
> Thanks
> Suresh
> 
> 
--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to