History log of /dflybsd-src/sys/netinet/udp_usrreq.c (Results 76 – 100 of 173)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 2702099d 06-May-2013 Justin C. Sherrill <justin@shiningsilence.com>

Remove advertising clause from all that isn't contrib or userland bin.

By: Eitan Adler <lists@eitanadler.com>


# 5337421c 02-May-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

netisr: Inline netisr_cpuport() and netisr_curport()

These two functions do nothing more than just return pointer to the
element in the array.

Per our header file naming convention, put these two f

netisr: Inline netisr_cpuport() and netisr_curport()

These two functions do nothing more than just return pointer to the
element in the array.

Per our header file naming convention, put these two functions in
net/netisr2.h

show more ...


# ec7f7fc8 28-Apr-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

netisr: Function renaming; no functional changes

This cleans up code for keeping input packets' hash instead of masking
the hash with ncpus2_mask. netisr_hashport(), which maps packet hash
to netis

netisr: Function renaming; no functional changes

This cleans up code for keeping input packets' hash instead of masking
the hash with ncpus2_mask. netisr_hashport(), which maps packet hash
to netisr port, will be added soon.

show more ...


Revision tags: v3.4.1, v3.4.0
# 2e585ead 09-Apr-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

ip/udp: Fix IP source address setting for multicast address bound socket

It is a common practice to bind UDP socket to multicast address to enjoy
kernel level destination multicast address and port

ip/udp: Fix IP source address setting for multicast address bound socket

It is a common practice to bind UDP socket to multicast address to enjoy
kernel level destination multicast address and port filtering. However,
if data are sent on this kind of socket, source address of the IP packet
will be the bound multicast address?!

Two fixes are added to address this bug:

1) Don't set IP source address in udp_output(), if the inpcb's laddr is
multicast address. Instead the IP source address is set to INADDR_ANY,
so ip_output() could pick up a proper IP source address.

2) With 1) in place, it is possible that IP source address is INADDR_ANY
before the ifnet.if_output() using following steps:
- If the IP_MULTICAST_IF socket option is set to iface0
- The iface0's last IP address is unset, before the ip_output()

This condition could easily be reproduced by using test/mcast:
mcast -m 224.2.2.2 -p 3000 -i iface0_ip -D 10
During the 10sec delay, wipe out all IP addresses from iface0

Well, even without 1), raw IP still could generate IP packet using
INADDR_ANY as source address.

Two checks on the source IP address are added to ip_output() before
ifnet.if_output()
- IP source address should not be INADDR_ANY
- IP source address should not be multicast address

And for multicast IP packets, if the IP source address could be
determined, they will not be looped back and forwarded.

Reported-by: zeroxia

show more ...


Revision tags: v3.4.0rc, v3.5.0
# 6e78e7fe 26-Mar-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

udp: Make stats per-cpu


Revision tags: v3.2.2
# f5991d1f 29-Nov-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

sosendudp: Try to optimize out the additional mbuf alloc on output path

This optimization leaves enough space at the beginning of the mbuf, so
later on M_PREPEND() probably will not allocate additio

sosendudp: Try to optimize out the additional mbuf alloc on output path

This optimization leaves enough space at the beginning of the mbuf, so
later on M_PREPEND() probably will not allocate addition mbuf.

This probably will not benefit any data that will be fragmented, e.g. by
IPv4, so this optimization is only performed when the size of data and
max size of protocol+link headers fit into one mbuf cluster.

This optimization could be turned off by net.inet.udp.sosend_prepend,
which is on by default.

show more ...


# 3a6a85bc 24-Oct-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# 1918fc5c 24-Oct-2012 Sascha Wildner <saw@online.de>

kernel: Make SMP support default (and non-optional).

The 'SMP' kernel option gets removed with this commit, so it has to
be removed from everybody's configs.

Reviewed-by: sjg
Approved-by: many


Revision tags: v3.2.1, v3.2.0, v3.3.0
# 60c4a755 11-Sep-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# 3abced87 11-Sep-2012 Nuno Antunes <nuno.antunes@gmail.com>

netisr: rename cpu_portfn() to netisr_portfn().

No functional change.

Searched and replaced with:
find sys/ -type f -exec sed -i "" 's/cpu_portfn/netisr_portfn/g' '{}' \;


Revision tags: v3.0.3
# 1ebac809 04-Aug-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# 7df36335 01-Aug-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

mbuf: Save linker layer, IP and TCP/UDP header length

This could ease most drivers's TSO operation and avoid extra data
area accessing during TSO setting up.

This could also help Intel's 1000M/10G

mbuf: Save linker layer, IP and TCP/UDP header length

This could ease most drivers's TSO operation and avoid extra data
area accessing during TSO setting up.

This could also help Intel's 1000M/10G drivers' hardware checksum
offloading, which requires protocol header length.

show more ...


# e06c72d3 30-Apr-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# ed20d0e3 21-Apr-2012 Sascha Wildner <saw@online.de>

kernel: Remove newlines from the panic messages that have one.

panic() itself will add a newline.


# 890ced9f 20-Apr-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# 0df7608b 17-Apr-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

socket: Change sysctl names sosnd -> sosend, no functional changes


Revision tags: v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 7b7dc575 04-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

pru_send: Allow non-NULL address parameter to be passed

Currently the passed in address is copied into a newly allocated
memory (grr, additional blocking kmalloc), and the PRUS_FREEADDR
will be set

pru_send: Allow non-NULL address parameter to be passed

Currently the passed in address is copied into a newly allocated
memory (grr, additional blocking kmalloc), and the PRUS_FREEADDR
will be set so that protocol thread could know when to free the
address.

Before this change netperf UDP_STREAM (unconnected socket) could
only do ~200Kpps (w/ -m 18), now it could do ~990Kpps (w/ -m 18).
This gives ~500% performance improvement for tiny UDP packet TX.
The improvement is not as good as the connected socket, which is
~600%, mainly because of the additional memory allocation for
the address. We _may_ further optimize out the address allocation.

show more ...


# 6ce03112 04-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

udp: Support asynchronized pru_send for connected socket

The result:

192.168.3.1 PhenomII 970 (runs netperf, hw 82571EB)
192.168.3.2 Phenom 9550 (runs netserver, hw 82574L)

netperf -H 192.168.3.2

udp: Support asynchronized pru_send for connected socket

The result:

192.168.3.1 PhenomII 970 (runs netperf, hw 82571EB)
192.168.3.2 Phenom 9550 (runs netserver, hw 82574L)

netperf -H 192.168.3.2 -t UDP_STREAM -P0 -l 30 -- -n -m 18
(10 second `netstat -nI emx0 -w 1`, unit: pps)

old new
204736 1225536
203712 1224960
203520 1224640
202880 1228416
203392 1225408
203648 1224960
203456 1219968
203648 1224064
203712 1218880
204224 1222464

This gives ~600% tiny UDP packet TX performance improvement.

The the current tiny UDP packet TX rate (1.22Mpps) is quite near
the 1.48Mpps 1000baseT limitation.

show more ...


# 47d61296 03-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

udp: Prepare for the asynchronized pru_send 2

Save the MSG_DONTROUTE in the netmsg instead of messing w/ socket.so_options


# 32e297c1 03-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

udp: Prepare for the asynchronized pru_send

Save necessary netmsg information into stack variables


# 0f267b72 03-Dec-2011 Sepherosa Ziehau <sephe@dragonflybsd.org>

udp: Simplify udp_output interface


# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2, v2.3.1, v2.2.1
# e28f12ac 07-Apr-2009 Matthew Dillon <dillon@apollo.backplane.com>

Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly


# 2038fb68 06-Apr-2009 Sascha Wildner <saw@online.de>

Replace all casts of NULL to something with NULL.


# 730902da 10-Mar-2009 Sepherosa Ziehau <sephe@dragonflybsd.org>

network: Turn on adaptive MPSAFE for network threads, and MPSAFE for IP and ARP

Approved-by dillon@


1234567