#
0fac350c |
| 30-Nov-2023 |
Gleb Smirnoff <glebius@FreeBSD.org> |
sockets: don't malloc/free sockaddr memory on getpeername/getsockname
Just like it was done for accept(2) in cfb1e92912b4, use same approach for two simplier syscalls that return socket addresses.
sockets: don't malloc/free sockaddr memory on getpeername/getsockname
Just like it was done for accept(2) in cfb1e92912b4, use same approach for two simplier syscalls that return socket addresses. Although, these two syscalls aren't performance critical, this change generalizes some code between 3 syscalls trimming code size.
Following example of accept(2), provide VNET-aware and INVARIANT-checking wrappers sopeeraddr() and sosockaddr() around protosw methods.
Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D42694
show more ...
|
Revision tags: release/14.0.0 |
|
#
c3179e66 |
| 18-Aug-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: cleanup cdefs.h include
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
c6207881 |
| 28-Jul-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: keep sb_acc and sb_ccc in sync
PR: 260116 MFC after: 1 week
|
Revision tags: release/13.2.0 |
|
#
3d0d5b21 |
| 23-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
IfAPI: Explicitly include <net/if_private.h> in netstack
Summary: In preparation of making if_t completely opaque outside of the netstack, explicitly include the header. <net/if_var.h> will stop in
IfAPI: Explicitly include <net/if_private.h> in netstack
Summary: In preparation of making if_t completely opaque outside of the netstack, explicitly include the header. <net/if_var.h> will stop including the header in the future.
Sponsored by: Juniper Networks, Inc. Reviewed by: glebius, melifaro Differential Revision: https://reviews.freebsd.org/D38200
show more ...
|
Revision tags: release/12.4.0 |
|
#
46ddeb6b |
| 04-Oct-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
netinet6: retire ip6protosw.h
The netinet/ipprotosw.h and netinet6/ip6protosw.h were KAME relics, with the former removed in f0ffb944d25 in 2001 and the latter survived until today. It has been red
netinet6: retire ip6protosw.h
The netinet/ipprotosw.h and netinet6/ip6protosw.h were KAME relics, with the former removed in f0ffb944d25 in 2001 and the latter survived until today. It has been reduced down to only one useful declaration that moves to ip6_var.h
Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36726
show more ...
|
#
edc5b6ea |
| 14-May-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: use sb_avail() when accessing sb_acc for reading
This is a cleanup to simplify a patch for PR 260116.
PR: 260116 MFC after: 3 days
|
Revision tags: release/13.1.0 |
|
#
a12d8933 |
| 19-Apr-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: hold the inp lock while calling ip6_output
This fixes an issue with handling IPPROTO_IPV6 level socket options.
Reported by: syzbot+66ede232c3d1271c6226@syzkaller.appspotmail.com MFC after: 3
sctp: hold the inp lock while calling ip6_output
This fixes an issue with handling IPPROTO_IPV6 level socket options.
Reported by: syzbot+66ede232c3d1271c6226@syzkaller.appspotmail.com MFC after: 3 days
show more ...
|
#
fd0d53f8 |
| 18-Feb-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: improve robustness
MFC after: 3 days
|
#
274a0e4a |
| 18-Feb-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: cleanup, no functional change intended.
MFC after: 3 days
|
#
3ca204c9 |
| 18-Feb-2022 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: remove unused parameter
MFC after: 3 days
|
#
f32357be |
| 03-Dec-2021 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: use the correct traffic class when sending SCTP/IPv6 packets
When sending packets the stcb was used to access the inp and then access the endpoint specific IPv6 level options. This fails when
sctp: use the correct traffic class when sending SCTP/IPv6 packets
When sending packets the stcb was used to access the inp and then access the endpoint specific IPv6 level options. This fails when there exists an inp, but no stcb yet. This is the case for sending an INIT-ACK in response to an INIT when no association already exists. Fix this by just providing the inp instead of the stcb.
PR: 260120 MFC after: 1 week
show more ...
|
Revision tags: release/12.3.0, release/13.0.0, release/12.2.0 |
|
#
662c1305 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
net: clean up empty lines in .c and .h files
|
#
c7aa572c |
| 31-Jul-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
8745f898 |
| 19-Jul-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Add reference counts for inp/stcb/net when timers are running. This avoids a use-after-free reported for the userland stack. Thanks to Taylor Brandstetter for suggesting a patch for the userland stac
Add reference counts for inp/stcb/net when timers are running. This avoids a use-after-free reported for the userland stack. Thanks to Taylor Brandstetter for suggesting a patch for the userland stack.
MFC after: 1 week
show more ...
|
#
4ef7c2f2 |
| 10-Jul-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Whitespace changes due to upstreaming r363079.
|
#
052c5ec4 |
| 10-Jul-2020 |
Mark Johnston <markj@FreeBSD.org> |
Provide support for building SCTP as a loadable module.
With this change, a kernel compiled with "options SCTP_SUPPORT" and without "options SCTP" supports dynamic loading of the SCTP stack.
Curren
Provide support for building SCTP as a loadable module.
With this change, a kernel compiled with "options SCTP_SUPPORT" and without "options SCTP" supports dynamic loading of the SCTP stack.
Currently sctp.ko cannot be unloaded since some prerequisite teardown logic is not yet implemented. Attempts to unload the module will return EOPNOTSUPP.
Discussed with: tuexen MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21997
show more ...
|
#
d60bdf85 |
| 13-Jun-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Remove usage of empty macro.
MFC after: 1 week
|
Revision tags: release/11.4.0 |
|
#
999f86d6 |
| 19-May-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Replace snprintf() by SCTP_SNPRINTF() and let SCTP_SNPRINTF() map to snprintf() on FreeBSD. This allows to check for failures of snprintf() on platforms other than FreeBSD kernel.
|
#
da8c34c3 |
| 18-May-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Non-functional changes, cleanups.
MFC after: 3 days
|
#
1d1a743e |
| 11-May-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Fix NOINET[6] build by using af-independent route lookup function.
Reported by: rpokala
|
#
17cb6ddb |
| 26-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Fix order of arguments in fib[46]_lookup calls in SCTP.
r360292 introduced the wrong order, resulting in returned nhops not being referenced, despite the fact that references were requested. That
Fix order of arguments in fib[46]_lookup calls in SCTP.
r360292 introduced the wrong order, resulting in returned nhops not being referenced, despite the fact that references were requested. That lead to random GPF after using SCTP sockets.
Special defined macro like IPV[46]_SCOPE_GLOBAL will be introduced soon to reduce the chance of putting arguments in wrong order.
Reported-by: syzbot+5c813c01096363174684@syzkaller.appspotmail.com
show more ...
|
#
983066f0 |
| 25-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Convert route caching to nexthop caching.
This change is build on top of nexthop objects introduced in r359823.
Nexthops are separate datastructures, containing all necessary information to perfor
Convert route caching to nexthop caching.
This change is build on top of nexthop objects introduced in r359823.
Nexthops are separate datastructures, containing all necessary information to perform packet forwarding such as gateway interface and mtu. Nexthops are shared among the routes, providing more pre-computed cache-efficient data while requiring less memory. Splitting the LPM code and the attached data solves multiple long-standing problems in the routing layer, drastically reduces the coupling with outher parts of the stack and allows to transparently introduce faster lookup algorithms.
Route caching was (re)introduced to minimise (slow) routing lookups, allowing for notably better performance for large TCP senders. Caching works by acquiring rtentry reference, which is protected by per-rtentry mutex. If the routing table is changed (checked by comparing the rtable generation id) or link goes down, cache record gets withdrawn.
Nexthops have the same reference counting interface, backed by refcount(9). This change merely replaces rtentry with the actual forwarding nextop as a cached object, which is mostly mechanical. Other moving parts like cache cleanup on rtable change remains the same.
Differential Revision: https://reviews.freebsd.org/D24340
show more ...
|
#
43c7dd6b |
| 19-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358075 through r358130.
|
#
868b51f2 |
| 18-Feb-2020 |
Michael Tuexen <tuexen@FreeBSD.org> |
Epochify SCTP.
|