Date: Fri, 15 Nov 2013 18:03:07 -0800 From: Adrian Chadd <adrian@freebsd.org> To: Steve Kiernan <stevek@juniper.net> Cc: FreeBSD Net <freebsd-net@freebsd.org>, Luigi Rizzo <luigi@freebsd.org>, Marcel Moolenaar <marcel@freebsd.org>, zec@freebsd.org Subject: Re: [JNPR] Network stack as a module (RFC) Message-ID: <CAJ-Vmo=gd-bwLxw2LTXEJwY=4mJWxQS-HwGC_gbw-VtSfLBTCg@mail.gmail.com> In-Reply-To: <20131115165210.23f82578@stevek-ubuntu> References: <CC6EF6B2.1917A%anshukla@juniper.net> <f1d8693fa83965f0d4a485a2db7e603b@novexsolutions.com> <50F868FF.5060506@networx.ch> <20131115165210.23f82578@stevek-ubuntu>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, We can't commit it with 'netstack' against all of the drivers. I think the default should be "assume freebsd's networking stack" and if someone disables that option, the drivers just won't link. Thus, someone compiling FreeBSD without netstack shouldn't be compiling GENERIC - they would be compiling a custom kernel with their own device stuff. -adrian On 15 November 2013 13:52, Steve Kiernan <stevek@juniper.net> wrote: > This is a follow up to the request sent back in January titled "Proposal for changes to network device drivers and network stack". > > In order to make it easier to review, we will be submitting pieces to be contributed in logical blocks. > > Please review the following patch and provide feedback: > http://people.freebsd.org/~marcel/Juniper/201311/netstack-option.diff > > The details of this patch are as follows (and what is suggested for the commit log): > > Add a NETSTACK option to facilitate separating network stack pieces from the > rest of the OS core. This is the first step towards having the network stack > as a module. > > In order to be able to build without the NETSTACK option enabled, the following > changes are also required and included with this commit: > > * Add 'optional netstack' to source files that should be considered part of the > network stack, including drivers > * Dynamically register the setfib syscall > - this eliminates the need of an #Ifdef NETSTACK in kern/syscalls.master and > will be necessary when the network stack is a module > * Add #ifdef NETSTACK for the following sections of kernel: > In linprocfs - the proc/net nodes > In the Linuxulator - linux_ioctl_socket and callers > In SVR4 compat layer - STREAMS support, socket ioctls, and networking related > system calls (getmsg, putmsg, recv, send, sendto) > In kern/sys_socket.c - interface/routing/protocol specific ioctls are no > longer called in the default case when NETSTACK is not defined, return > ENXIO in that case > In kern/uipc_socket.c - SO_SETFIB socket option > In kern/vfs_init.c - vfs_checkexp should not be set to vfs_stdcheckexp when > NETSTACK is not defined > In kern/vfs_mount.c - all export-related code > In usb device driver - USB_HAVE_PF needs to be defined to 0 in the case of > no NETSTACK option > > Please note that these NETSTACK checks above will end up being removed as > pieces of the network stack as a module functionality are added. > > To verify building without the NETSTACK option, the LINT-NONETSTACK kernel > has been added to makeLINT.mk > > -- > Stephen J. Kiernan > Juniper Networks, Inc. > stevek_at_juniper.net > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=gd-bwLxw2LTXEJwY=4mJWxQS-HwGC_gbw-VtSfLBTCg>