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>