#
f9b2a21c |
| 31-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge head r232040 through r257457. M usr.sbin/portsnap/portsnap/portsnap.8 M usr.sbin/portsnap/portsnap/portsnap.sh M usr.sbin/tcpdump/tcpdump/Makefile
|
#
5b74cfe4 |
| 31-Oct-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Make struct ifnet readable and comprehensible again by grouping and ordering related variables, fields and locks next to each other. Add more comments to variables.
Over time 'ifnet' has accumlated
Make struct ifnet readable and comprehensible again by grouping and ordering related variables, fields and locks next to each other. Add more comments to variables.
Over time 'ifnet' has accumlated a lot of additional pointers and functionality in an unstructured way making it quite hard to read and understand while obfuscating relationships between fields and variables.
Quantify the structure size and how bloated it has become.
This is only a mechanical change in preparation for upcoming work to make ifnet opaque to drivers and to separate out the interface queuing.
Sponsored by: The FreeBSD Foundation
show more ...
|
#
ded7d20f |
| 29-Oct-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Move all interface queue related structures, macros and definitions from net/if_var to it own new net/ifq.h.
For now net/ifq.h is unconditionally included through net/if_var.h.
This is a mechanical
Move all interface queue related structures, macros and definitions from net/if_var to it own new net/ifq.h.
For now net/ifq.h is unconditionally included through net/if_var.h.
This is a mechanical change in preparation to make struct ifnet and the individual interface queue mechanisms opaque.
Discussed with: glebius Sponsored by: The FreeBSD Foundation
show more ...
|
#
eaeb0c13 |
| 28-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Style: s/SYS_EVENTHANDLER_H/_SYS_EVENTHANDLER_H_/g
Submitted by: bde
|
#
c29e1ad9 |
| 28-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Make the prophecy from 1997 happen and remove if_var.h inclusion from if.h. - Remove unnecessary includes and declarations from if.h - Remove unnecessary includes and declarations from if_var.h [
- Make the prophecy from 1997 happen and remove if_var.h inclusion from if.h. - Remove unnecessary includes and declarations from if.h - Remove unnecessary includes and declarations from if_var.h [1] - Mark some declarations that are about to be removed in near future with comments, explaning why this declaration is still necessary. - Protect eventhandler declarations with #ifdef SYS_EVENTHANDLER_H.
Obtained from: bdeBSD [1] Sponsored by: Netflix Sponsored by: Nginx, Inc.
show more ...
|
#
0bfd163f |
| 18-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge head r233826 through r256722.
|
#
7caf4ab7 |
| 15-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Utilize counter(9) to accumulate statistics on interface addresses. Add four counters to struct ifaddr. This kills '+=' on a variables shared between processors for every packet. - Nuke struct
- Utilize counter(9) to accumulate statistics on interface addresses. Add four counters to struct ifaddr. This kills '+=' on a variables shared between processors for every packet. - Nuke struct if_data from struct ifaddr. - In ip_input() do not put a reference on ifaddr, instead update statistics right now in place and do IN_IFADDR_RUNLOCK(). These removes atomic(9) for every packet. [1] - To properly support NET_RT_IFLISTL sysctl used by getifaddrs(3), in rtsock.c fill if_data fields using counter_u64_fetch(). - Accidentially fix bug in COMPAT_32 version of NET_RT_IFLISTL, which took if_data not from the ifaddr, but from ifaddr's ifnet. [2]
Submitted by: melifaro [1], pluknet[2] Sponsored by: Netflix Sponsored by: Nginx, Inc.
show more ...
|
#
3fffa8c8 |
| 15-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Push some defines under _KERNEL, improve styling and comments.
|
#
67420bda |
| 15-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove ifa_mtx. It was used only in one place in kernel, and ifnet's ifaddr lock can substitute it there.
Discussed with: melifaro, ae Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
46758960 |
| 15-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove ifa_init() and provide ifa_alloc() that will allocate and setup struct ifaddr internally.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
6ed910fa |
| 15-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hide 'struct ifaddr' definition from userland. Two tools left that use it, namely ipftest(1) and ifmcstat(1). These sniff structure definition using _WANT_IFADDR define.
Sponsored by: Netflix Sponso
Hide 'struct ifaddr' definition from userland. Two tools left that use it, namely ipftest(1) and ifmcstat(1). These sniff structure definition using _WANT_IFADDR define.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
show more ...
|
Revision tags: release/9.2.0 |
|
#
d1d01586 |
| 05-Sep-2013 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge from head
|
#
40f65a4d |
| 07-Aug-2013 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r254014
|
#
92e0a672 |
| 19-Jul-2013 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r253461
|
#
552311f4 |
| 17-Jul-2013 |
Xin LI <delphij@FreeBSD.org> |
IFC @253398
|
#
d36ed80a |
| 06-Jul-2013 |
Colin Percival <cperciva@FreeBSD.org> |
Fix typo: minmum -> minimum.
Submitted by: @z3ndrag0n
|
#
cfe30d02 |
| 19-Jun-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge fresh head.
|
#
3c914c54 |
| 03-Jun-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Allow drivers to specify a maximum TSO length in bytes if they are limited in the amount of data they can handle at once.
Drivers can set ifp->if_hw_tsomax before calling ether_ifattach() to change
Allow drivers to specify a maximum TSO length in bytes if they are limited in the amount of data they can handle at once.
Drivers can set ifp->if_hw_tsomax before calling ether_ifattach() to change the limit.
The lowest allowable size is IP_MAXPACKET / 8 (8192 bytes) as anything less wouldn't be very useful anymore. The upper limit is still at IP_MAXPACKET (65536 bytes). Raising it requires further auditing of the IPv4/v6 code path's as the length field in the IP header would overflow leading to confusion in firewalls and others packet handler on the real size of the packet.
The placement into "struct ifnet" is a bit hackish but the best place that was found. When the stack/driver boundary is updated it should be handled in a better way.
Submitted by: cperciva (earlier version) Reviewed by: cperciva Tested by: cperciva MFC after: 1 week (using spare struct members to preserve ABI)
show more ...
|
Revision tags: release/8.4.0 |
|
#
f89d4c3a |
| 06-May-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Back out r249318, r249320 and r249327 due to a heisenbug most likely related to a race condition in the ipi_hash_lock with the exact cause currently unknown but under investigation.
|
#
47e8d432 |
| 26-Apr-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add const qualifier to the dst parameter of the ifnet if_output method.
|
#
69e6d7b7 |
| 12-Apr-2013 |
Simon J. Gerraty <sjg@FreeBSD.org> |
sync from head
|
#
18ba072a |
| 10-Apr-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix build.
|
#
e8b3186b |
| 09-Apr-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Change certain heavily used network related mutexes and rwlocks to reside on their own cache line to prevent false sharing with other nearby structures, especially for those in the .bss segment.
NB:
Change certain heavily used network related mutexes and rwlocks to reside on their own cache line to prevent false sharing with other nearby structures, especially for those in the .bss segment.
NB: Those mutexes and rwlocks with variables next to them that get changed on every invocation do not benefit from their own cache line. Actually it may be net negative because two cache misses would be incurred in those cases.
show more ...
|
#
d241a0e6 |
| 26-Feb-2013 |
Xin LI <delphij@FreeBSD.org> |
IFC @247348.
|
#
24421c1c |
| 11-Feb-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Resolve source address selection in presense of CARP. Add a couple of helper functions:
- carp_master() - boolean function which is true if an address is in the MASTER state. - ifa_preferred
Resolve source address selection in presense of CARP. Add a couple of helper functions:
- carp_master() - boolean function which is true if an address is in the MASTER state. - ifa_preferred() - boolean function that compares two addresses, and is aware of CARP.
Utilize ifa_preferred() in ifa_ifwithnet().
The previous version of patch also changed source address selection logic in jails using carp_master(), but we failed to negotiate this part with Bjoern. May be we will approach this problem again later.
Reported & tested by: Anton Yuzhaninov <citrin citrin.ru> Sponsored by: Nginx, Inc
show more ...
|