Fix some minor issues in various headers for self sufficiency.* <netgraph/ksocket/ng_ksocket.h>, <netgraph7/ksocket/ng_ksocket.h> and <rpc/auth.h>: Include <sys/types.h> because <sys/socket.h> no
Fix some minor issues in various headers for self sufficiency.* <netgraph/ksocket/ng_ksocket.h>, <netgraph7/ksocket/ng_ksocket.h> and <rpc/auth.h>: Include <sys/types.h> because <sys/socket.h> no longer brings it in.* <sys/sysunion.h>: Include <sys/sysproto.h> for struct <syscall>_args definitions.
show more ...
<sys/un.h>: Stop including <sys/file.h>.It is no longer needed since f635d1746140d0f4915af3adb8314f4759377d3b.While here, remove a forward declaration of struct sockopt (no longerneeded since 00
<sys/un.h>: Stop including <sys/file.h>.It is no longer needed since f635d1746140d0f4915af3adb8314f4759377d3b.While here, remove a forward declaration of struct sockopt (no longerneeded since 002c1265bf9676475d08e73e8d873cea9ee4a82e) and adjust abit of whitespace.Also adjust ng_ksocket.c where DragonFly specific code was assumingthat including <sys/un.h> would bring in <sys/fcntl.h>.
kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.The main reason is that our having to use the MB_WAIT and MB_DONTWAITflags was a recurring issue when porting drivers from FreeBSD
kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.The main reason is that our having to use the MB_WAIT and MB_DONTWAITflags was a recurring issue when porting drivers from FreeBSD becauseit tended to get forgotten and the code would compile anyway with thewrong constants. And since MB_WAIT and MB_DONTWAIT ended up as ocflagsfor an objcache_get() or objcache_reclaimlist call (which use M_WAITOKand M_NOWAIT), it was just one big converting back and forth with somesanitization in between.This commit allows M_* again for the mbuf functions and keeps thesanitizing as it was before: when M_WAITOK is among the passed flags,objcache functions will be called with M_WAITOK and when it is absent,they will be called with M_NOWAIT. All other flags are scrubbed by theMB_OCFLAG() macro which does the same as the former MBTOM().Approved-by: dillon
Remove support for the IPX and NCP protocols, and for NWFS.This was on the list for a longer time now. FreeBSD removed itrecently, too. Their commit msg has some more info:"IPX was a network tra
Remove support for the IPX and NCP protocols, and for NWFS.This was on the list for a longer time now. FreeBSD removed itrecently, too. Their commit msg has some more info:"IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011."The commit removes support for NCP (NetWare Core Protocol) andNWFS (NetWare File System) along with it (both gone from FreeBSDtoo since a while).
tcp: Implement asynchronous pru_connectThis is mainly used to improve TCP nonblocking connect(2) performance.Before this commit the user space thread uses nonblocking connect(2)will have to wait
tcp: Implement asynchronous pru_connectThis is mainly used to improve TCP nonblocking connect(2) performance.Before this commit the user space thread uses nonblocking connect(2)will have to wait for the netisr completes the SYN output. This couldbe performance hit for nonblocking connect(2). First, the user spacethread is put into sleep, even if the connect(2) is nonblocking.Second, it does not make too much sense for nonblocking connect(2) towait for the SYN output.TCP's asynchronous pru_connect implementation will set ISCONNECTINGbefore dispatching netmsg to netisr0. The errors like EADDRNOTAVAIL,i.e. out of local port space, will be notified through kevent(2) orgetsockopt(2) SOL_SOCKET/SO_ERROR.NFS and other kernel code still use old synchronized pru_connect. Thiscommit only affects connect(2) syscall.Sysctl node kern.ipc.soconnect_async is added to enable and disableasynchronous pru_connect. It is enabled by default.The performance measurement (i7-2600 w/ bnx(4)), usingtools/tools/netrate/accept_connect/kq_connect_client: kq_connect_client -4 SERVADDR -p SERVPORT -i 8 -c 32 -l 30 (8 processes, each creates 32 connections simultaniously, run 30 secs)16 runs average: asynchronous pru_connect synchronized pru_connect 220979.89 conns/s 189106.88 conns/sThis commit gives ~16% performance improvement for nonblocking connect(2)
kernel: Remove some unused variables in netgraph/netgraph7.
Revert "netgraph7: Make netgraph7 kernel modules names unique."This reverts commit b3caef111369521fa1099de35840437191aa1436.* Now that netgraph7 kernel buils is under the WANT_NETGRAPH7 make va
Revert "netgraph7: Make netgraph7 kernel modules names unique."This reverts commit b3caef111369521fa1099de35840437191aa1436.* Now that netgraph7 kernel buils is under the WANT_NETGRAPH7 make variable, this commit can be reverted.
netgraph7: Make netgraph7 kernel modules names unique.* This way, netgraph (legacy) and netgraph7 kernel modules names do not colide and do not overwrite each other in /boot/<blah> during make
netgraph7: Make netgraph7 kernel modules names unique.* This way, netgraph (legacy) and netgraph7 kernel modules names do not colide and do not overwrite each other in /boot/<blah> during make installkernel.
netgraph7: ng_ksocket: lwkt_{get,rel}token() -> lwkt_{get,rel}pooltoken().
netgraph7: Properly lock ng_ksocket during accept phase.* Use ssb_token to protect the TAILQ.
netgraph7: catch up with pr_* -> netmsg changes.
netgraph7: fix netgraph7 build* add missing socketvar2.h header #include's.* fix comment.
NETGRAPH7: ng_ksocket: Use atomic ops for ssb_flags handling.
NETGRAPH7: Welcome ng_ksocket.* Put ng_ksocket in its own subdirectory and attach it to the build