Add support for FD taps on Qlisten chans in #I
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 31 Aug 2015 18:43:35 +0000 (14:43 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 28 Sep 2015 19:14:00 +0000 (15:14 -0400)
commit7902f0c9bb20dfd6606d1f34fa4512fc4d22d02a
treeff014e6f9bdd8dfcf858f13f6cafc0d471845ec1
parent5a590d0cc053b6f2aa5b92f419a6124e06e9c720
Add support for FD taps on Qlisten chans in #I

Applications can request an FD tap on a Qlisten file, e.g.
/net/tcp/0/listen.  The FDTAP_FILT_READABLE filter will fire when there
is a new connection.

Note that you must use open() with O_PATH to get a Qlisten FD.
Otherwise you'll block (or at least attempt) to get a new conversation.
After opening with O_PATH, you can either set up the Tap on your own, or
use epoll to find out about new conversations.

Right now, I have the Qlisten tap allow FDTAP_FILT_HANGUP requests,
mostly because epoll adds that in for every tap it uses.  Since there is
no distant end to the connection, hangup doesn't really make sense.
Maybe we'll find a use for it.
kern/include/ip.h
kern/src/net/devip.c