Jeremy Elson wrote: > Let's say, for the sake of argument, that I wanted to write a PPP > channel handler in userspace rather than inside the kernel. My idea > is to write a new PPPoX protocol, "pppou" (ppp over userspace), using > pppoe.c as example code. Instead of handling packets that come down > from the network stack by calling an ethernet card's transmit > function, it will instead queue them for a userspace program to read. > That userspace program can then read the packet and send it to some > physical device. Similarly, skb's written to the pppou device will be > copied from userspace and get ppp_input called. (I'm doing this > because I have a system with a special kind of network interface that > can be read/written using userspace code.) > > Am I on the right track at all? > > Also, a related question: how hard would it be to write a "PPP over a > file descriptor" channel? In other words, a PPPOX protocol where you > ioctl in an FD, and packets that come in from the network stack get > written to that fd, and vice versa. This seems like a bigger problem > since I think an arbitrary fd would have to be used in process' > context but the network stack delivers packets in a BH. > > Sorry if this question doesn't make any sense - I'm still trying to > learn the PPP code. What exactly are you trying to do that can't be done by running pppd on a pty? -- Glynn Clements <glynn.clements@virgin.net> - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html