I'm currently looking how the ideas presented in
draft-ietf-ipngwg-rfc2292bis-02.txt would map into our IPv6 implementation
for EPOC, and I have some questions (suggestions?).

Concerning packet specific data and "4.2. UDP and Raw Socket Implications"

I may have missed it, but the text appears to leave it somewhat unclear as
to which packet the data actually belong, say we have a sequence

  recv() UDP packet #1,
  Queued UDP packet #2 is waiting
  recvmsg()

Which UDP packet the recvmsg data applies? I would lean to saying #2,
because then the kernel doesn't need to keep extra buffers around, and it
can just build the data as required directly from the packet.

How are current implementations actually doing it? My interpretation would
mean that to reliably get the correct data about the packet, application
must always first do recvmsg() and then recv() when a socket signals that
data can be read.

Secondly, I don't like the options:

setsockopt(fd, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &on, sizeof(on));
setsockopt(fd, IPPROTO_IPV6, IPV6_RECVRTHDR,    &on, sizeof(on));
setsockopt(fd, IPPROTO_IPV6, IPV6_RECVHOPOPTS,  &on, sizeof(on));
setsockopt(fd, IPPROTO_IPV6, IPV6_RECVDSTOPTS,  &on, sizeof(on));
setsockopt(fd, IPPROTO_IPV6, IPV6_RECVRTHDRDSTOPTS, &on, sizeof(on));

I would prefer a more generic solution, for example, following the idea of
the ICMP6_FILTER

struct ipv6_filter extfilter;
setsockopt(fd, IPPROTO_IPV6, IPV6_FILTER, &extfilter);

I would leave it up to application to recognize between destination options
before routing header and after. It only would need to ask both routing
headers and destination options in the filter, and it can see from the
recvmsg data, whether options were before or after routing header, or both.

This does not mean that the specification could not have the nice access and
building methods for the headers, as described in later sections for options
and routing headers.

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to