History log of /netbsd-src/sys/netipsec/ipsec_output.c (Results 1 – 25 of 87)
Revision Date Author Comments
# 481d3881 05-Jul-2024 rin <rin@NetBSD.org>

sys: Drop redundant NULL check before m_freem(9)

m_freem(9) safely has accepted NULL argument at least since 4.2BSD:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c

Co

sys: Drop redundant NULL check before m_freem(9)

m_freem(9) safely has accepted NULL argument at least since 4.2BSD:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c

Compile-tested on amd64/ALL.

Suggested by knakahara@

show more ...


# 986909fb 27-Jan-2023 ozaki-r <ozaki-r@NetBSD.org>

ipsec: remove unnecessary splsoftnet

Because the code of IPsec itself is already MP-safe.


# 75d2abae 10-Apr-2022 andvar <andvar@NetBSD.org>

fix various typos in comments and output/log messages.


# c535599f 01-Nov-2019 knakahara <knakahara@NetBSD.org>

Fix ipsecif(4) IPV6_MINMTU does not work correctly.


# e524fb36 19-Sep-2019 ozaki-r <ozaki-r@NetBSD.org>

Avoid having a rtcache directly in a percpu storage

percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users. If the storages went short, percpu(9) enlarges them by

Avoid having a rtcache directly in a percpu storage

percpu(9) has a certain memory storage for each CPU and provides it by the piece
to users. If the storages went short, percpu(9) enlarges them by allocating new
larger memory areas, replacing old ones with them and destroying the old ones.
A percpu storage referenced by a pointer gotten via percpu_getref can be
destroyed by the mechanism after a running thread sleeps even if percpu_putref
has not been called.

Using rtcache, i.e., packet processing, typically involves sleepable operations
such as rwlock so we must avoid dereferencing a rtcache that is directly stored
in a percpu storage during packet processing. Address this situation by having
just a pointer to a rtcache in a percpu storage instead.

Reviewed by knakahara@ and yamaguchi@

show more ...


# 58c56020 26-Dec-2018 knakahara <knakahara@NetBSD.org>

ipsecif(4) supports multiple peers in the same NAPT.

E.g. ipsec0 connects between NetBSD_A and NetBSD_B, ipsec1 connects
NetBSD_A and NetBSD_C at the following figure.

ipsecif(4) supports multiple peers in the same NAPT.

E.g. ipsec0 connects between NetBSD_A and NetBSD_B, ipsec1 connects
NetBSD_A and NetBSD_C at the following figure.

+----------+
+----| NetBSD_B |
+----------+ +------+ | +----------+
| NetBSD_A |--- ... ---| NAPT |---+
+----------+ +------+ | +----------+
+----| NetBSD_C |
+----------+

Add ATF later.

show more ...


# 890dda53 22-Nov-2018 knakahara <knakahara@NetBSD.org>

Support IPv6 NAT-T. Implemented by hsuenaga@IIJ and ohishi@IIJ.

Add ATF later.


# 56fc5b5d 31-May-2018 maxv <maxv@NetBSD.org>

Adapt rev1.75, suggested by Alexander Bluhm. Relax the checks to allow
protocols smaller than two bytes (only IPPROTO_NONE). While here style.


# f645db7a 31-May-2018 maxv <maxv@NetBSD.org>

Remove support for non-IKE markers in the kernel. Discussed on tech-net@,
and now in PR/53334. Basically non-IKE markers come from a deprecated
draft, and our kernel code for them has never worked.

Remove support for non-IKE markers in the kernel. Discussed on tech-net@,
and now in PR/53334. Basically non-IKE markers come from a deprecated
draft, and our kernel code for them has never worked.

Setsockopt will now reject UDP_ENCAP_ESPINUDP_NON_IKE.

Perhaps we should also add a check in key_handle_natt_info(), to make
sure we also reject UDP_ENCAP_ESPINUDP_NON_IKE in the SADB.

show more ...


# 436305f8 07-May-2018 maxv <maxv@NetBSD.org>

Remove a dummy reference to XF_IP4, explain briefly why we don't use
ipe4_xformsw, and remove unused includes.


# 20668b06 07-May-2018 maxv <maxv@NetBSD.org>

Remove now unused 'isr', 'skip' and 'protoff' arguments from ipip_output.


# defd3aa3 07-May-2018 maxv <maxv@NetBSD.org>

Remove unused 'mp' argument from all the xf_output functions. Also clean
up xform.h a bit.


# a7d0cc88 01-May-2018 maxv <maxv@NetBSD.org>

Fix the checks in compute_ipsec_pos, otherwise m_copydata could crash. I
already fixed half of the problem two months ago in rev1.67, back then I
thought it was not triggerable because each packet we

Fix the checks in compute_ipsec_pos, otherwise m_copydata could crash. I
already fixed half of the problem two months ago in rev1.67, back then I
thought it was not triggerable because each packet we emit is guaranteed
to have correctly formed IPv6 options; but it is actually triggerable via
IPv6 forwarding, we emit a packet we just received, and we don't sanitize
its options before invoking IPsec.

Since it would be wrong to just stop the iteration and continue the IPsec
processing, allow compute_ipsec_pos to fail, and when it does, drop the
packet entirely.

show more ...


# 68df48a8 28-Apr-2018 maxv <maxv@NetBSD.org>

Remove IPSEC_SPLASSERT_SOFTNET, it has always been a no-op.


# e2c8a664 19-Apr-2018 maxv <maxv@NetBSD.org>

Remove extra long file paths from the headers.


# 1e45b2f1 18-Apr-2018 maxv <maxv@NetBSD.org>

style


# 052a8431 05-Mar-2018 maxv <maxv@NetBSD.org>

Call m_pullup earlier, fixes one branch.


# 6c5d24ed 03-Mar-2018 maxv <maxv@NetBSD.org>

Add KASSERTs, we don't want m_nextpkt in ipsec{4/6}_process_packet.


# 589f503d 26-Feb-2018 maxv <maxv@NetBSD.org>

Fix mbuf mistake: we are using ip6 before it is pulled up properly.


# 79002044 21-Feb-2018 maxv <maxv@NetBSD.org>

Style, no functional change.


# 2256f36f 21-Feb-2018 maxv <maxv@NetBSD.org>

Strengthen this check, to make sure there is room for an ip6_ext structure.
Seems possible to crash m_copydata here (but I didn't test more than that).


# 5104ba25 08-Feb-2018 maxv <maxv@NetBSD.org>

Remove unused net_osdep.h include.


# cead3b88 17-Nov-2017 ozaki-r <ozaki-r@NetBSD.org>

Provide macros for softnet_lock and KERNEL_LOCK hiding NET_MPSAFE switch

It reduces C&P codes such as "#ifndef NET_MPSAFE KERNEL_LOCK(1, NULL); ..."
scattered all over the source code and makes it e

Provide macros for softnet_lock and KERNEL_LOCK hiding NET_MPSAFE switch

It reduces C&P codes such as "#ifndef NET_MPSAFE KERNEL_LOCK(1, NULL); ..."
scattered all over the source code and makes it easy to identify remaining
KERNEL_LOCK and/or softnet_lock that are held even if NET_MPSAFE.

No functional change

show more ...


# 83c2b87a 03-Oct-2017 ozaki-r <ozaki-r@NetBSD.org>

Constify isr at many places (NFC)


# 7f4c0fa0 03-Oct-2017 ozaki-r <ozaki-r@NetBSD.org>

Fix SP is broken on transport mode

isr->saidx was modified accidentally in ipsec_nextisr.

Reported by christos@
Helped investigations by christos@ and knakahara@


1234