|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
182e8ae2 |
| 14-Aug-2023 |
Doug Rabson <[email protected]> |
netstat(1): teach netstat to attach to jails
Add -j <jail> flag to netstat(1) to allow access to network information from a jail.
MFC after: 1 week Differential Revision: https://reviews.freebsd.or
netstat(1): teach netstat to attach to jails
Add -j <jail> flag to netstat(1) to allow access to network information from a jail.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41446
show more ...
|
|
Revision tags: release/13.2.0 |
|
| #
64dfea86 |
| 26-Mar-2023 |
Alexander V. Chernikov <[email protected]> |
netlink: add NETLINK/NETLINK_SUPPORT userland options.
Make userland tools such as netstat, route, arp and ndp use either netlink or rtsock interfaces based on the NETLINK_SUPPORT options. Both NE
netlink: add NETLINK/NETLINK_SUPPORT userland options.
Make userland tools such as netstat, route, arp and ndp use either netlink or rtsock interfaces based on the NETLINK_SUPPORT options. Both NETLINK and NETLINK_SUPPORT options are turned on by default.
Reviewed By: eugen Differential Revision: https://reviews.freebsd.org/D39148
show more ...
|
| #
68636dcb |
| 27-Jan-2023 |
Alexander V. Chernikov <[email protected]> |
netstat: make netstat -rn use netlink instead of rtsock
This change switches route listing in netstat to netlink, with fallback to rtsock. The outputs are mostly identical, with an exception of not
netstat: make netstat -rn use netlink instead of rtsock
This change switches route listing in netstat to netlink, with fallback to rtsock. The outputs are mostly identical, with an exception of not showing kernel nexthop indexes for multipath routes.
Differential Revision: https://reviews.freebsd.org/D36529
show more ...
|
|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0 |
|
| #
fedeb08b |
| 03-Oct-2020 |
Alexander V. Chernikov <[email protected]> |
Introduce scalable route multipath.
This change is based on the nexthop objects landed in D24232.
The change introduces the concept of nexthop groups. Each group contains the collection of nexthops
Introduce scalable route multipath.
This change is based on the nexthop objects landed in D24232.
The change introduces the concept of nexthop groups. Each group contains the collection of nexthops with their relative weights and a dataplane-optimized structure to enable efficient nexthop selection.
Simular to the nexthops, nexthop groups are immutable. Dataplane part gets compiled during group creation and is basically an array of nexthop pointers, compiled w.r.t their weights.
With this change, `rt_nhop` field of `struct rtentry` contains either nexthop or nexthop group. They are distinguished by the presense of NHF_MULTIPATH flag. All dataplane lookup functions returns pointer to the nexthop object, leaving nexhop groups details inside routing subsystem.
User-visible changes:
The change is intended to be backward-compatible: all non-mpath operations should work as before with ROUTE_MPATH and net.route.multipath=1.
All routes now comes with weight, default weight is 1, maximum is 2^24-1.
Current maximum multipath group width is statically set to 64. This will become sysctl-tunable in the followup changes.
Using functionality: * Recompile kernel with ROUTE_MPATH * set net.route.multipath to 1
route add -6 2001:db8::/32 2001:db8::2 -weight 10 route add -6 2001:db8::/32 2001:db8::3 -weight 20
netstat -6On
Nexthop groups data
Internet6: GrpIdx NhIdx Weight Slots Gateway Netif Refcnt 1 ------- ------- ------- --------------------------------------- --------- 1 13 10 1 2001:db8::2 vlan2 14 20 2 2001:db8::3 vlan2
Next steps: * Land outbound hashing for locally-originated routes ( D26523 ). * Fix net/bird multipath (net/frr seems to work fine) * Add ROUTE_MPATH to GENERIC * Set net.route.multipath=1 by default
Tested by: olivier Reviewed by: glebius Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26449
show more ...
|
|
Revision tags: release/11.4.0 |
|
| #
a6663252 |
| 12-Apr-2020 |
Alexander V. Chernikov <[email protected]> |
Introduce nexthop objects and new routing KPI.
This is the foundational change for the routing subsytem rearchitecture. More details and goals are available in https://reviews.freebsd.org/D24141 .
Introduce nexthop objects and new routing KPI.
This is the foundational change for the routing subsytem rearchitecture. More details and goals are available in https://reviews.freebsd.org/D24141 .
This patch introduces concept of nexthop objects and new nexthop-based routing KPI.
Nexthops are objects, containing all necessary information for performing the packet output decision. Output interface, mtu, flags, gw address goes there. For most of the cases, these objects will serve the same role as the struct rtentry is currently serving. Typically there will be low tens of such objects for the router even with multiple BGP full-views, as these objects will be shared between routing entries. This allows to store more information in the nexthop.
New KPI:
struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, uint32_t flowid); struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, uint32_t flowid);
These 2 function are intended to replace all all flavours of <in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous fib[46]-generation functions.
Upon successful lookup, they return nexthop object which is guaranteed to exist within current NET_EPOCH. If longer lifetime is desired, one can specify NHR_REF as a flag and get a referenced version of the nexthop. Reference semantic closely resembles rtentry one, allowing sed-style conversion.
Additionally, another 2 functions are introduced to support uRPF functionality inside variety of our firewalls. Their primary goal is to hide the multipath implementation details inside the routing subsystem, greatly simplifying firewalls implementation:
int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if);
All functions have a separate scopeid argument, paving way to eliminating IPv6 scope embedding and allowing to support IPv4 link-locals in the future.
Structure changes: * rtentry gets new 'rt_nhop' pointer, slightly growing the overall size. * rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz.
Old KPI: During the transition state old and new KPI will coexists. As there are another 4-5 decent-sized conversion patches, it will probably take a couple of weeks. To support both KPIs, fields not required by the new KPI (most of rtentry) has to be kept, resulting in the temporary size increase. Once conversion is finished, rtentry will notably shrink.
More details: * architectural overview: https://reviews.freebsd.org/D24141 * list of the next changes: https://reviews.freebsd.org/D24232
Reviewed by: ae,glebius(initial version) Differential Revision: https://reviews.freebsd.org/D24232
show more ...
|
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0 |
|
| #
ae69ad88 |
| 27-Jul-2017 |
Bjoern A. Zeeb <[email protected]> |
After inpcb route caching was put back in place there is no need for flowtable anymore (as flowtable was never considered to be useful in the forwarding path).
Reviewed by: np Differential Revision
After inpcb route caching was put back in place there is no need for flowtable anymore (as flowtable was never considered to be useful in the forwarding path).
Reviewed by: np Differential Revision: https://reviews.freebsd.org/D11448
show more ...
|
|
Revision tags: release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0 |
|
| #
114350b9 |
| 25-Nov-2015 |
Bryan Drewery <[email protected]> |
Replace DPSRCS that work fine in SRCS.
This is so that 'make depend' is not a required build step in these files.
DPSRCS is overall unneeded. DPSRCS already contains SRCS, so anything which can sa
Replace DPSRCS that work fine in SRCS.
This is so that 'make depend' is not a required build step in these files.
DPSRCS is overall unneeded. DPSRCS already contains SRCS, so anything which can safely be in SRCS should be. DPSRCS is mostly just a way to generate files that should not be linked into the final PROG/LIB. For headers and grammars it is safe for them to be in SRCS since they will be excluded during linking and installation.
The only remaining uses of DPSRCS are for generating .c or .o files that must be built before 'make depend' can run 'mkdep' on the SRCS c files list. A semi-proper example is in tests/sys/kern/acct/Makefile where a checked-in .c file has an #include on a generated .c file. The generated .c file should not be linked into the final PROG though since it is #include'd. The more proper way here is just to build/link it in though without DPSRCS. Another example is in sys/modules/linux/Makefile where a shell script runs to parse a DPSRCS .o file that should not be linked into the module. Beyond those, the need for DPSRCS is largely unneeded, redundant, and forces 'make depend' to be ran. Generally, these Makefiles should avoid the need for DPSRCS and define proper dependencies for their files as well.
An example of an improper usage and why this matters is in usr.bin/netstat. nl_defs.h was only in DPSRCS and so was not generated during 'make all', but only during 'make depend'. The files including it lacked proper depenencies on it, which forced running 'make depend' to workaround that bug. The 'make depend' target should mostly be used for incremental build help, not to produce a working build. This specific example was broken in the meta build until r287905 since it does not run 'make depend'.
The gnu/lib/libreadline/readline case is fine since bsd.lib.mk has 'OBJS: SRCS:M*.h' when there is no .depend file.
Sponsored by: EMC / Isilon Storage Division MFC after: 1 week
show more ...
|
| #
81dacd8b |
| 02-Sep-2015 |
Hiroki Sato <[email protected]> |
Simplify kvm symbol resolution and error handling. The symbol table nl_symbols will eventually be organized into several modules depending on MK_* variables.
|
| #
d1a0d267 |
| 24-Aug-2015 |
Marcel Moolenaar <[email protected]> |
Upgrade libxo to 0.4.5.
Local changes incorporated by 0.4.5: r284340 Local changes retained: r276260, r282117
Obtained from: https://github.com/Juniper/libxo
|
|
Revision tags: release/10.2.0 |
|
| #
ade9ccfe |
| 21-Feb-2015 |
Marcel Moolenaar <[email protected]> |
Convert netstat to use libxo.
Obtained from: Phil Shafer <[email protected]> Ported to -current by: alfred@ (mostly), Kim Shrier Formatting: marcel@ Sponsored by: Juniper Networks, Inc.
|
| #
3e11bd9e |
| 25-Nov-2014 |
Baptiste Daroussin <[email protected]> |
Convert to usr.bin/ to LIBADD Reduce overlinking
|
|
Revision tags: release/10.1.0, release/9.3.0 |
|
| #
c6063d0d |
| 06-May-2014 |
Warner Losh <[email protected]> |
Use src.opts.mk in preference to bsd.own.mk except where we need stuff from the latter.
|
| #
45c203fc |
| 14-Mar-2014 |
Gleb Smirnoff <[email protected]> |
Remove AppleTalk support.
AppleTalk was a network transport protocol for Apple Macintosh devices in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was a legacy protocol and primary n
Remove AppleTalk support.
AppleTalk was a network transport protocol for Apple Macintosh devices in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was a legacy protocol and primary networking protocol is TCP/IP. The last Mac OS X release to support AppleTalk happened in 2009. The same year routing equipment vendors (namely Cisco) end their support.
Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE.
show more ...
|
| #
2c284d93 |
| 14-Mar-2014 |
Gleb Smirnoff <[email protected]> |
Remove IPX support.
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.
Remove IPX support.
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.
Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.
show more ...
|
| #
5d6d7e75 |
| 07-Feb-2014 |
Gleb Smirnoff <[email protected]> |
o Revamp API between flowtable and netinet, netinet6. - ip_output() and ip_output6() simply call flowtable_lookup(), passing mbuf and address family. That's the only code under #ifdef FLOWT
o Revamp API between flowtable and netinet, netinet6. - ip_output() and ip_output6() simply call flowtable_lookup(), passing mbuf and address family. That's the only code under #ifdef FLOWTABLE in the protocols code now. o Revamp statistics gathering and export. - Remove hand made pcpu stats, and utilize counter(9). - Snapshot of statistics is available via 'netstat -rs'. - All sysctls are moved into net.flowtable namespace, since spreading them over net.inet isn't correct. o Properly separate at compile time INET and INET6 parts. o General cleanup. - Remove chain of multiple flowtables. We simply have one for IPv4 and one for IPv6. - Flowtables are allocated in flowtable.c, symbols are static. - With proper argument to SYSINIT() we no longer need flowtable_ready. - Hash salt doesn't need to be per-VNET. - Removed rudimentary debugging, which use quite useless in dtrace era.
The runtime behavior of flowtable shouldn't be changed by this commit.
Sponsored by: Netflix Sponsored by: Nginx, Inc.
show more ...
|
|
Revision tags: release/10.0.0 |
|
| #
3e4d5cd3 |
| 29-Oct-2013 |
Gleb Smirnoff <[email protected]> |
Make userland tools honor WITHOUT_PF build option.
Tested by: [email protected]
|
|
Revision tags: release/9.2.0, release/8.4.0, release/9.1.0 |
|
| #
3dcc856b |
| 16-Jul-2012 |
Michael Tuexen <[email protected]> |
Allow netstat to be build if INET is not defined in the kernel. Thanks to Garrett Cooper for reporting the issue.
MFC after: 3 days X-MFC: 238501
|
|
Revision tags: release/8.3.0_cvs, release/8.3.0 |
|
| #
6aa83769 |
| 09-Mar-2012 |
Dimitry Andric <[email protected]> |
After r232745, which makes sure __bswap16(), ntohs() and htons() return __uint16_t, we can partially undo r228668.
Note the remark "Work around a clang false positive with format string warnings and
After r232745, which makes sure __bswap16(), ntohs() and htons() return __uint16_t, we can partially undo r228668.
Note the remark "Work around a clang false positive with format string warnings and ntohs macros (see LLVM PR 11313)" was actually incorrect.
Before r232745, on some arches, the ntohs() macros did in fact return int, not uint16_t, so clang was right in warning about the %hu format string.
MFC after: 2 weeks
show more ...
|
| #
07b202a8 |
| 28-Feb-2012 |
Dimitry Andric <[email protected]> |
Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to get rid of testing explicitly for clang (using ${CC:T:Mclang}) in individual Makefiles.
Instead, use the following extra macros
Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to get rid of testing explicitly for clang (using ${CC:T:Mclang}) in individual Makefiles.
Instead, use the following extra macros, for use with clang: - NO_WERROR.clang (disables -Werror) - NO_WCAST_ALIGN.clang (disables -Wcast-align) - NO_WFORMAT.clang (disables -Wformat and friends) - CLANG_NO_IAS (disables integrated assembler) - CLANG_OPT_SMALL (adds flags for extra small size optimizations)
As a side effect, this enables setting CC/CXX/CPP in src.conf instead of make.conf! For clang, use the following:
CC=clang CXX=clang++ CPP=clang-cpp
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/9.0.0 |
|
| #
d88ccef5 |
| 17-Dec-2011 |
Dimitry Andric <[email protected]> |
Revert r228650, and work around the clang false positive with printf formats in usr.bin/netstat/atalk.c by conditionally adding NO_WFORMAT to the Makefile instead.
MFC after: 1 week
|
| #
aa0a1e58 |
| 21-Mar-2011 |
Jeff Roberson <[email protected]> |
- Merge in OFED 1.5.3 from projects/ofed/head
|
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0 |
|
| #
0153eb66 |
| 22-Feb-2010 |
Robert Watson <[email protected]> |
Teach netstat(1) to print out netisr statistics when given the -Q argument. Currently supports only reporting on live systems via sysctl, kmem support needs to be edded.
MFC after: 1 week Sponsored
Teach netstat(1) to print out netisr statistics when given the -Q argument. Currently supports only reporting on live systems via sysctl, kmem support needs to be edded.
MFC after: 1 week Sponsored by: Juniper Networks
show more ...
|
|
Revision tags: release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0 |
|
| #
57e9cb8c |
| 15-Feb-2009 |
Bruce M Simpson <[email protected]> |
Now that ifmcstat(8) does not suck, retire host-mode netstat -g. This change will not be back-ported.
|
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
| #
690f477d |
| 21-Sep-2008 |
Sam Leffler <[email protected]> |
add new build knobs and jigger some existing controls to improve control over the result of buildworld and installworld; this especially helps packaging systems such as nanobsd
Reviewed by: various
add new build knobs and jigger some existing controls to improve control over the result of buildworld and installworld; this especially helps packaging systems such as nanobsd
Reviewed by: various (posted to arch) MFC after: 1 month
show more ...
|