Revision tags: release/10.1.0 |
|
#
3c7c188c |
| 11-Nov-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix some minor TSO issues: - Improve description of TSO limits. - Remove a not needed KASSERT() - Remove some not needed variable casts.
Sponsored by: Mellanox Technologies Discussed with: lstewart
Fix some minor TSO issues: - Improve description of TSO limits. - Remove a not needed KASSERT() - Remove some not needed variable casts.
Sponsored by: Mellanox Technologies Discussed with: lstewart @ MFC after: 1 week
show more ...
|
#
033074c4 |
| 09-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Replace 'struct route *' if_output() argument with 'struct nhop_info *'. Leave 'struct route' as is for legacy routing api users. Remove most of rtalloc_ign*-derived functions.
|
#
4ea05db8 |
| 09-Nov-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Use standard mtx(9), rwlock(9), sx(9) system initialization macros instead of doing initialization manually.
Sponsored by: Nginx, Inc. Sponsored by: Netflix
|
#
a9413f6c |
| 08-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r274297.
|
#
1a75e3b2 |
| 06-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Make checks for rt_mtu generic:
Some virtual if drivers has (ab)used ifa ifa_rtrequest hook to enforce route MTU to be not bigger that interface MTU. While ifa_rtrequest hooking might be an option i
Make checks for rt_mtu generic:
Some virtual if drivers has (ab)used ifa ifa_rtrequest hook to enforce route MTU to be not bigger that interface MTU. While ifa_rtrequest hooking might be an option in some situation, it is not feasible to do MTU checks there: generic (or per-domain) routing code is perfectly capable of doing this.
We currrently have 3 places where MTU is altered:
1) route addition. In this case domain overrides radix _addroute callback (in[6]_addroute) and all necessary checks/fixes are/can be done there.
2) route change (especially, GW change). In this case, there are no explicit per-domain calls, but one can override rte by setting ifa_rtrequest hook to domain handler (inet6 does this).
3) ifconfig ifaceX mtu YYYY In this case, we have no callbacks, but ip[6]_output performes runtime checks and decreases rt_mtu if necessary.
Generally, the goals are to be able to handle all MTU changes in control plane, not in runtime part, and properly deal with increased interface MTU.
This commit changes the following: * removes hooks setting MTU from drivers side * adds proper per-doman MTU checks for case 1) * adds generic MTU check for case 2)
* The latter is done by using new dom_ifmtu callback since if_mtu denotes L3 interface MTU, e.g. maximum trasmitted _packet_ size. However, IPv6 mtu might be different from if_mtu one (e.g. default 1280) for some cases, so we need an abstract way to know maximum MTU size for given interface and domain. * moves rt_setmetrics() before MTU/ifa_rtrequest hooks since it copies user-supplied data which must be checked. * removes RT_LOCK_ASSERT() from other ifa_rtrequest hooks to be able to use this functions on new non-inserted rte.
More changes will follow soon.
MFC after: 1 month Sponsored by: Yandex LLC
show more ...
|
#
5c9ef378 |
| 04-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r274095.
|
#
f8ca6199 |
| 03-Nov-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Clarify TSO segment limit comment and remove two TABs to make lines a bit shorter.
Sponsored by: Mellanox Technologies
|
#
107af8f2 |
| 05-Oct-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r272481
|
#
1ce4b357 |
| 04-Oct-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r272516.
|
#
698271d8 |
| 02-Oct-2014 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head@r272414
Sponsored by: The FreeBSD Foundation
|
#
cbaac009 |
| 28-Sep-2014 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Move the unconditional #include of net/ifq.h to the very end of file. This seems to allow us to pass a universe with either clang or gcc after r272244 (and r272260) and probably makes it easier to un
Move the unconditional #include of net/ifq.h to the very end of file. This seems to allow us to pass a universe with either clang or gcc after r272244 (and r272260) and probably makes it easier to untabgle these chained #includes in the future.
show more ...
|
#
bd071d4d |
| 28-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Remove empty wrappers ether_poll_[de]register_drv(). [1] - Move polling(9) declarations out of ifq.h back to if_var.h they are absolutely unrelated to queues.
Submitted by: Mikhail <mp lenta.ru>
- Remove empty wrappers ether_poll_[de]register_drv(). [1] - Move polling(9) declarations out of ifq.h back to if_var.h they are absolutely unrelated to queues.
Submitted by: Mikhail <mp lenta.ru> [1]
show more ...
|
#
112f50ff |
| 28-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Finally, convert counters in struct ifnet to counter(9).
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
970388bf |
| 28-Sep-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r272185
|
#
7d6cc45c |
| 27-Sep-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Use underlying ports counters to get lagg statistics instead of per-packet accounting. This introduce user-visible changes like aggregating error counters.
Reviewed by: asomers (prev.version), glebi
Use underlying ports counters to get lagg statistics instead of per-packet accounting. This introduce user-visible changes like aggregating error counters.
Reviewed by: asomers (prev.version), glebius CR: D781 MFC after: 2 weeks Sponsored by: Yandex LLC
show more ...
|
#
9fd573c3 |
| 22-Sep-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Improve transmit sending offload, TSO, algorithm in general.
The current TSO limitation feature only takes the total number of bytes in an mbuf chain into account and does not limit by the number of
Improve transmit sending offload, TSO, algorithm in general.
The current TSO limitation feature only takes the total number of bytes in an mbuf chain into account and does not limit by the number of mbufs in a chain. Some kinds of hardware is limited by two factors. One is the fragment length and the second is the fragment count. Both of these limits need to be taken into account when doing TSO. Else some kinds of hardware might have to drop completely valid mbuf chains because they cannot loaded into the given hardware's DMA engine. The new way of doing TSO limitation has been made backwards compatible as input from other FreeBSD developers and will use defaults for values not set.
Reviewed by: adrian, rmacklem Sponsored by: Mellanox Technologies MFC after: 1 week
show more ...
|
#
b6cf6c8c |
| 20-Sep-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r271887
|
#
d2a707cd |
| 18-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove a bunch of methods that are superseded by if_inc_counter().
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
1b7fb1d9 |
| 18-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
While not too late rename 'ifnet_counter' to 'ift_counter'. One of the imporant moments that we discussed with Marcel and Anuranjan was that a converted driver should return false for 'grep ifnet if_
While not too late rename 'ifnet_counter' to 'ift_counter'. One of the imporant moments that we discussed with Marcel and Anuranjan was that a converted driver should return false for 'grep ifnet if_driver.c' :)
Sponsored by: Netflix Sponsored by: Nginx, Inc.
show more ...
|
#
35853c2c |
| 18-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add a function to set if_get_counter method for an ifnet. To be used in the drivers that are already converted to "Juniper drvapi". This can be revisited in future.
|
#
277e067a |
| 18-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
While not too late rename if_get_counter_compat() to if_get_counter_default(). The compat counters will go away, but the function will remain in its place, and in all places where it is going to be c
While not too late rename if_get_counter_compat() to if_get_counter_default(). The compat counters will go away, but the function will remain in its place, and in all places where it is going to be called.
Discussed with: melifaro
show more ...
|
#
0b7b006c |
| 18-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add if_inc_counter(), a generic method to update ifnet(9) counter w/o dereferencing the struct.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
4e27d36d |
| 17-Sep-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r271694
|
#
72f31000 |
| 13-Sep-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Revert r271504. A new patch to solve this issue will be made.
Suggested by: adrian @
|
#
eb93b77a |
| 13-Sep-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Improve transmit sending offload, TSO, algorithm in general.
The current TSO limitation feature only takes the total number of bytes in an mbuf chain into account and does not limit by the number of
Improve transmit sending offload, TSO, algorithm in general.
The current TSO limitation feature only takes the total number of bytes in an mbuf chain into account and does not limit by the number of mbufs in a chain. Some kinds of hardware is limited by two factors. One is the fragment length and the second is the fragment count. Both of these limits need to be taken into account when doing TSO. Else some kinds of hardware might have to drop completely valid mbuf chains because they cannot loaded into the given hardware's DMA engine. The new way of doing TSO limitation has been made backwards compatible as input from other FreeBSD developers and will use defaults for values not set.
MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|