Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jul 2000 21:29:43 -0400
From:      Ping Pan <pingpan@cs.columbia.edu>
To:        "Louis A. Mamakos" <louie@transsys.com>
Cc:        Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>, Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, freebsd-net@freebsd.org
Subject:   Re: Fwd: A new kernel extension to deal with IP option packets
Message-ID:  <3984D687.8094E53A@cs.columbia.edu>
References:  <20000730104427.A28035@daemon.ninth-circle.org> <200007301827.OAA02982@khavrinen.lcs.mit.edu> <20000730212106.D28035@daemon.ninth-circle.org> <200007302357.TAA74234@whizzo.transsys.com>

next in thread | previous in thread | raw e-mail | index | archive | help
"Louis A. Mamakos" wrote:
> 
> I saw this too, and I guess what I can't figure out is why
> socket options to extract IP options on a raw IP socket (or perhaps
> any datagram socket) are not sufficient.  There are no "IP options
> packets"; the options are already associated with a packet bound to
> a socket.  Or for packets transiting the host.
> 
> Is this specifically to support an RSVP implementation when the FreeBSD
> platform is acting as a router?
> 

Louis,

If you take a look at the RSVP kernel support, it was doing
protocol-type switching, and has nothing to do with the fact that the
RSVP PATH messages are encapsulated in IP router-alert option. So using
raw socket is not sufficient. 

Also if the IP option is for UDP and TCP packets, the current BSD cannot
intercept the packets without knowing the port numbers. How can BSD
routers pick up those packets?

We had gone through all other possible mechanisms: raw socket, libpcap
and divert. None really works, so we designed this socket family. The
new socket family is to do IP option type switching. Please read the
first section of the our report. The report is in
http://www.cs.columbia.edu/~pingpan/paper_list.html

> I'm also wondering why perhaps BPF isn't a mechanism which can be
> used, but perhaps that's much too low a level an interface.
> 

Yes. Parsing DLC headers at the application level is not so simple (and
required to copy a lot of routines from tcpdump()). Given the user
process is only interested in IP header, I don't see why I want to use
libpcap. Also libpcap does not intercept the packets. It copes them
only. Some router applications need to intercept the packets.

> louie

- Ping


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3984D687.8094E53A>