Revision tags: v2.2.0, v2.3.0 |
|
#
08abcb65 |
| 03-Jan-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel
|
#
4173863d |
| 30-Dec-2008 |
Matthias Schmidt <matthias@dragonflybsd.org> |
Merge branch 'master' of git://chlamydia.fs.ei.tum.de/dragonfly
|
#
8a27f1c9 |
| 31-Dec-2008 |
Michael Neumann <mneumann@ntecs.de> |
Merge branches 'master' and 'suser_to_priv'
Conflicts:
sys/netinet/ip_carp.c sys/platform/pc64/amd64/machdep.c
|
#
895c1f85 |
| 15-Dec-2008 |
Michael Neumann <mneumann@ntecs.de> |
suser_* to priv_* conversion
|
Revision tags: v2.1.1 |
|
#
14572273 |
| 11-Nov-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- If we receive redirect or host dead ICMP message due to packets sent on TCP sockets, we need to go through all CPUs to check per-cpu TCP inpcbs. - If we receive redirect ICMP message due to packe
- If we receive redirect or host dead ICMP message due to packets sent on TCP sockets, we need to go through all CPUs to check per-cpu TCP inpcbs. - If we receive redirect ICMP message due to packets sent on UDP sockets, we need to go through all CPUs to free UDP inpcbs' cached route entry.
Reported-by: pavalos@ Tested-by: pavalos@
show more ...
|
#
92db3805 |
| 23-Sep-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Add following three network protocol threads running mode: 1) BGL (default) 2) Adaptive BGL. Protocol threads run without BGL by default. BGL will be held if the received msg does not have MSGF_
Add following three network protocol threads running mode: 1) BGL (default) 2) Adaptive BGL. Protocol threads run without BGL by default. BGL will be held if the received msg does not have MSGF_MPSAFE turned on the ms_flags field 3) No BGL (experimental)
The code on the main path is done by dillon@
Following three sysctls and tunables are added to adjust the "mode": net.netisr.mpsafe_thread net.inet.tcp.mpsafe_thread net.inet.udp.mpsafe_thread
They have same set of values, 0 (default) -- BGL 1 -- Adaptive BGL 2 -- No BGL
NETISR_FLAG_MPSAFE is added (netisr.ni_flags), so that: - netisr_queue() and schednetisr() could set MSGF_MPSAFE during msg initialization - netisr_run() (called by ether_input_oncpu()) could hold BGL based on this flag before calling netisr's handler
PR_MPSAFE is added (protosw.pr_flags), so that tranport_processing_oncpu() could hold BGL before calling protocol's input handler
Kernel API changes: - The thread parameter to netmsg_service_loop() must be supplied (running mode) and it must have the type of "int *" - netisr_register() takes additional flags parameter to indicate whether its handler is MPSAFE (NETISR_FLAG_MPSAFE) or not
Reviewed-by: dillon@
show more ...
|
Revision tags: v2.0.1 |
|
#
facaabe1 |
| 12-Sep-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
- Fix function parameters order bug: udp_addrcpu() expects faddr,fport,laddr,lport not faddr,laddr,fport,lport - Add IP_DEBUGROUTE flag to let ip_output() know that we have confidence in the inp'
- Fix function parameters order bug: udp_addrcpu() expects faddr,fport,laddr,lport not faddr,laddr,fport,lport - Add IP_DEBUGROUTE flag to let ip_output() know that we have confidence in the inp's route cache. Currently UDP output sets this flag, since after the above fix, UDP inp's route cache would only be used on its owner CPU - Rename remote_free_panic to route_assert_owner_access, and expose it as global variable. Keep net.route.remote_free_panic as an alias to net.route.assert_owner_access
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1134>
show more ...
|
#
6ec45209 |
| 26-Apr-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Don't do following optimization in udp_disconnect(): Conditionally free cached pcb route entry by predicting new laddr.
During soclose() on a connected UDP socket, this optimization will cause cache
Don't do following optimization in udp_disconnect(): Conditionally free cached pcb route entry by predicting new laddr.
During soclose() on a connected UDP socket, this optimization will cause cached pcb route entry being freed on wrong CPU, since f{port,addr} have been changed.
Fix comment in udp_connect().
show more ...
|
#
9b37b73b |
| 26-Mar-2008 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
Fix bugs concerning cached route entry in UDP inpcb.
For an unconnected and unbound UDP socket, first sending calls in_pcbladdr() to fix the local port, which may change the target CPU of the next s
Fix bugs concerning cached route entry in UDP inpcb.
For an unconnected and unbound UDP socket, first sending calls in_pcbladdr() to fix the local port, which may change the target CPU of the next sending. in_pcbladdr() has a side effect to allocate the route entry cached in inpcb. If the target CPU after in_pcbladdr() is no longer the current CPU, then the route entry will be accessed/freed on non-owner CPU during later sending. Similarly, connect/disconnect a UDP socket may change the target CPU too; the target CPU may no longer the owner of the cached route entry.
So, for the first sending happens on an unconnected and unbound UDP socket, the target CPU of next sending is compared with the current CPU. If they are different, then cached route entry will be freed, so next time a packet sent on this socket, a new route entry owned by the correct CPU will be cached. Same target CPU check is applied to UDP socket connect/disconnect.
Originally UDP PRU_CONNECT always happens on CPU0, which will cause problem if following conditions are met: - Dst of the cached route entry is different from the dst to be connected - Cached route entry is not allocated on CPU0 This could happen if two datagram are sent on an unbounded and unconnected UDP socket, then later connectting this UDP socket will cause cached route entry being freed on different CPU. To solve this problem, PRU_CONNECT is dispatched according to existing [lf]{addr,port} pairs.
If in_pcbladdr() fails after altering the cached route entry, the cached route entry is freed to make sure that freeing this cached route entry happens on its owner CPU.
Reported-by: y0netan1@ Tested-by: y0netan1@
show more ...
|
#
6d49aa6f |
| 22-Apr-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Give the sockbuf structure its own header file and supporting source file. Move all sockbuf-specific functions from kern/uipc_socket2.c into the new kern/uipc_sockbuf.c and move all the sockbuf-speci
Give the sockbuf structure its own header file and supporting source file. Move all sockbuf-specific functions from kern/uipc_socket2.c into the new kern/uipc_sockbuf.c and move all the sockbuf-specific structures from sys/socketvar.h to sys/sockbuf.h.
Change the sockbuf structure to only contain those fields required to properly management a chain of mbufs. Create a signalsockbuf structure to hold the remaining fields (e.g. selinfo, mbmax, etc).
Change the so_rcv and so_snd structures in the struct socket from a sockbuf to a signalsockbuf.
Remove the recently added sorecv_direct structure which was being used to provide a direct mbuf path to consumers for socket I/O. Use the newly revamped sockbuf base structure instead. This gives mbuf consumers direct access to the sockbuf API functions for use outside of a struct socket. This will also allow new API functions to be added to the sockbuf interface to ease the job of parsing data out of chained mbufs.
show more ...
|
#
fa5e758c |
| 21-Apr-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Convert all pr_usrreqs structure initializations to the .name = data format.
|
#
95926362 |
| 04-Apr-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Add IP_MINTTL socket option - used to set the minimum acceptable TTL a packet must have when received on a socket. All packets with a lower TTL are silently dropped. Works on already connected/conn
Add IP_MINTTL socket option - used to set the minimum acceptable TTL a packet must have when received on a socket. All packets with a lower TTL are silently dropped. Works on already connected/connecting and listening sockets for RAW/UDP/TCP.
Add IP_RECVTTL socket option support - When set, userland receives the incoming packet's TTL as ancillary data with recvmsg(2) call.
Allows the implementation of security mechanisms described in RFC3682 (GTSM).
Obtained-from: FreeBSD. Submitted-by: Hasso Tepper <hasso@estpak.ee>
show more ...
|
#
0b30dad7 |
| 04-Mar-2007 |
Sascha Wildner <swildner@dragonflybsd.org> |
Remove weird license clause which has expired.
|
#
ce4ac214 |
| 10-Jan-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Fix collision with variable named 'errno'.
|
#
3e4150ef |
| 29-Dec-2006 |
Victor Balada Diaz <victor@dragonflybsd.org> |
Made jails IPv6 aware and support more than one IP address.
Based-on: Pawel Jakub Dawidek mijail patches. Reviewed-by: Simon 'corecode' Schubert, Thomas E. Spanjaard, et al.
|
#
f3f70f0d |
| 14-Jan-2006 |
Sascha Wildner <swildner@dragonflybsd.org> |
* Remove (void) casts for discarded return values.
* Put function types on separate lines.
* Ansify function definitions.
* Remove __P.
In-collaboration-with: Alexey Slynko <slynko@tronet.ru>
|
#
1cae611f |
| 02-Jun-2005 |
Matthew Dillon <dillon@dragonflybsd.org> |
Remove spl*() calls from netinet, replacing them with critical sections. A slight rearrangement of COMMON_START() in tcp_usrreq.c was necessary to ensure that the inp is loaded after entering the cr
Remove spl*() calls from netinet, replacing them with critical sections. A slight rearrangement of COMMON_START() in tcp_usrreq.c was necessary to ensure that the inp is loaded after entering the critical section.
show more ...
|
#
ed894f8c |
| 08-Feb-2005 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
Now that 'so_pcb' is properly declared as a 'void *', remove a layer of indirection and directly use 'so->so_pcb' in place of 'sotoinpcb(so)'.
|
#
09f756d1 |
| 02-Feb-2005 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
If dhclient fails, an interface could be left with an IP address of 0.0.0.0. Ignore attempts to send UDP packets sent this partially configured interface rather than panic'ing.
Reported by: many inc
If dhclient fails, an interface could be left with an IP address of 0.0.0.0. Ignore attempts to send UDP packets sent this partially configured interface rather than panic'ing.
Reported by: many including dillon, eirikn, drhodus Tested by: drhodus
show more ...
|
#
0c3c561c |
| 06-Jan-2005 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
Cosmetic cleanups.
|
#
407e896e |
| 29-Dec-2004 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
Forced commit to say the previous commit wasn't really a buffer overflow after all, but the code is more uniform this way, so leave it like this, except for ipsec.c where we use the standard libkern
Forced commit to say the previous commit wasn't really a buffer overflow after all, but the code is more uniform this way, so leave it like this, except for ipsec.c where we use the standard libkern inet_ntoa() instead of defining a private copy.
show more ...
|
#
1141eb20 |
| 29-Dec-2004 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
Fix buffer overflow bug involving inet_ntoa().
|
#
f23061d4 |
| 21-Dec-2004 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
Clean up the routing and networking code before I parallelize routing.
|
#
48a2763f |
| 03-Dec-2004 |
Joerg Sonnenberger <joerg@dragonflybsd.org> |
Replace div_pcblist / rip_pcblist / udp_pcblist with in_pcblist_global. This is a slight change of semantic for rip sockets, which have now a jail check too.
|
#
bf844ffa |
| 15-Oct-2004 |
Jeffrey Hsu <hsu@dragonflybsd.org> |
Update includes now that the Fast IPSec code has moved to netproto/ipsec.
Submitted by: Pawel Biernacki <kaktus@dragonflybsd.pl>
|