History log of /netbsd-current/sys/rump/librump/rumpnet/net_stub.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.49 04-Apr-2022 yamaguchi

Move input processing of lagg(4) before ether_input
to get rid of dependence.

This implementation is similar with that of bridge(4).


# 1.48 30-Sep-2021 yamaguchi

vlan: Register vlan_ifdetach to ether_ifdetach hook


# 1.47 30-Sep-2021 yamaguchi

bridge: Register bridge_ifdetach to ether_ifdetach hook


# 1.46 30-Sep-2021 yamaguchi

vlan: Register the callback to update link-state of vlan I/F
to link-state change hook

The callback is registered in every vlan I/F even if the parent
interface is the same. Therefore it is not needed to search the
vlan I/F by the parent interface unlike the previous callback.


# 1.45 30-Sep-2021 yamaguchi

lagg: Register lagg_linkstate_changed to link-state change hook


# 1.44 30-Sep-2021 yamaguchi

bridge: Register bridge_calc_link_state to link-state change hook


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.43 14-Jul-2021 ozaki-r

Rump-ify ALTQ (librumpnet_altq.so)


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.42 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.41 06-Nov-2020 christos

branches: 1.41.4; 1.41.6;
PR/55777: Ruslan Nikolaev: Move the unp_sysctl_create to uipc_usrreq.c to
facilitate splitting rump modules and does not require a dummy function.


# 1.40 27-Sep-2020 roy

branches: 1.40.2;
rump: Add weak alias for bridge_calc_link_state


# 1.39 27-Sep-2020 roy

rump: Try to fix build


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.48 30-Sep-2021 yamaguchi

vlan: Register vlan_ifdetach to ether_ifdetach hook


# 1.47 30-Sep-2021 yamaguchi

bridge: Register bridge_ifdetach to ether_ifdetach hook


# 1.46 30-Sep-2021 yamaguchi

vlan: Register the callback to update link-state of vlan I/F
to link-state change hook

The callback is registered in every vlan I/F even if the parent
interface is the same. Therefore it is not needed to search the
vlan I/F by the parent interface unlike the previous callback.


# 1.45 30-Sep-2021 yamaguchi

lagg: Register lagg_linkstate_changed to link-state change hook


# 1.44 30-Sep-2021 yamaguchi

bridge: Register bridge_calc_link_state to link-state change hook


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.43 14-Jul-2021 ozaki-r

Rump-ify ALTQ (librumpnet_altq.so)


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1
# 1.42 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.41 06-Nov-2020 christos

branches: 1.41.4; 1.41.6;
PR/55777: Ruslan Nikolaev: Move the unp_sysctl_create to uipc_usrreq.c to
facilitate splitting rump modules and does not require a dummy function.


# 1.40 27-Sep-2020 roy

branches: 1.40.2;
rump: Add weak alias for bridge_calc_link_state


# 1.39 27-Sep-2020 roy

rump: Try to fix build


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.43 14-Jul-2021 ozaki-r

Rump-ify ALTQ (librumpnet_altq.so)


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
# 1.42 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.41 06-Nov-2020 christos

branches: 1.41.4; 1.41.6;
PR/55777: Ruslan Nikolaev: Move the unp_sysctl_create to uipc_usrreq.c to
facilitate splitting rump modules and does not require a dummy function.


# 1.40 27-Sep-2020 roy

branches: 1.40.2;
rump: Add weak alias for bridge_calc_link_state


# 1.39 27-Sep-2020 roy

rump: Try to fix build


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.42 17-May-2021 yamaguchi

Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable


Revision tags: cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.41 06-Nov-2020 christos

PR/55777: Ruslan Nikolaev: Move the unp_sysctl_create to uipc_usrreq.c to
facilitate splitting rump modules and does not require a dummy function.


# 1.40 27-Sep-2020 roy

branches: 1.40.2;
rump: Add weak alias for bridge_calc_link_state


# 1.39 27-Sep-2020 roy

rump: Try to fix build


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.41 06-Nov-2020 christos

PR/55777: Ruslan Nikolaev: Move the unp_sysctl_create to uipc_usrreq.c to
facilitate splitting rump modules and does not require a dummy function.


Revision tags: thorpej-futex-base
# 1.40 27-Sep-2020 roy

rump: Add weak alias for bridge_calc_link_state


# 1.39 27-Sep-2020 roy

rump: Try to fix build


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.40 27-Sep-2020 roy

rump: Add weak alias for bridge_calc_link_state


# 1.39 27-Sep-2020 roy

rump: Try to fix build


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.38 28-Aug-2020 ozaki-r

ipsec: rename ipsec_ip_input to ipsec_ip_input_checkpolicy

Because it just checks if a packet passes security policies.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

branches: 1.36.2;
Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.37 12-Dec-2018 rin

PR kern/53562

Handle TX offload in software when a packet is sent via
bridge_output(). We can send it as is in the following
exceptional cases:

For unicast:

(1) When the destination interface is the same as source.

(2) When the destination supports all TX offload options
specified in a packet.

For multicast/broadcast:

(3) When all the members of the bridge support the specified
TX offload options.

For (3), add sc_csum_flags_tx flag to bridge softc, which is
logical AND b/w capabilities of TX offload options in member
interface (ifp->if_csum_flags_tx). The flag is updated when a
member is (i) added to or (ii) removed from a bridge, or (iii)
if_csum_flags_tx flag of a member interface is manipulated via
ifconfig(8).

Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when
TSO[46] is enabled for that interface.

OK msaitoh thorpej


Revision tags: pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.36 14-May-2018 maxv

Merge ipsec4_input and ipsec6_input into ipsec_ip_input. Make the argument
a bool for clarity. Optimize the function: if M_CANFASTFWD is not there
(because already removed by the firewall) leave now.

Makes it easier to see that M_CANFASTFWD is not removed on IPv6.


# 1.35 10-May-2018 maxv

Rename ipsec4_forward -> ipsec_mtu, and switch to void.


# 1.34 05-May-2018 christos

add an empty stub


Revision tags: pgoyette-compat-0502
# 1.33 28-Apr-2018 maxv

Stop using a macro, rename the function to ipsec_init_pcbpolicy directly.


Revision tags: pgoyette-compat-0422 pgoyette-compat-0415
# 1.32 12-Apr-2018 christos

remove now unused crap.


Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.31 27-Feb-2018 maxv

branches: 1.31.2;
Dedup: merge ipsec4_set_policy and ipsec6_set_policy. The content of the
original ipsec_set_policy function is inlined into the new one.


# 1.30 27-Feb-2018 maxv

Oops, forgot this file; I just merged two IPsec functions, so adapt
the rump stubs accordingly.


# 1.29 26-Feb-2018 maxv

Dedup: merge ipsec4_in_reject and ipsec6_in_reject into ipsec_in_reject.
While here fix misleading comment.

ok ozaki-r@


# 1.28 26-Feb-2018 maxv

Dedup: merge ipsec4_hdrsiz and ipsec6_hdrsiz into ipsec_hdrsiz.

ok ozaki-r@


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

branches: 1.26.4;
Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.27 02-Aug-2017 ozaki-r

Make IPsec SPD MP-safe

We use localcount(9), not psref(9), to make the sptree and secpolicy (SP)
entries MP-safe because SPs need to be referenced over opencrypto
processing that executes a callback in a different context.

SPs on sockets aren't managed by the sptree and can be destroyed in softint.
localcount_drain cannot be used in softint so we delay the destruction of
such SPs to a thread context. To do so, a list to manage such SPs is added
(key_socksplist) and key_timehandler_spd deletes dead SPs in the list.

For more details please read the locking notes in key.c.

Proposed on tech-kern@ and tech-net@


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.26 14-Apr-2017 ozaki-r

Rumpify netipsec

Note that we should modularize netipsec and reduce reverse symbol references
(referencing symbols of netipsec from net, netinet and netinet6) though,
the task needs lots of code changes. Prior to doing so, rumpifying it and
having ATF tests should be useful.


Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320
# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

branches: 1.24.2;
Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


# 1.25 14-Mar-2017 ozaki-r

Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

branches: 1.23.2;
Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.


Revision tags: nick-nhusb-base-20161204
# 1.24 26-Nov-2016 ozaki-r

Rumpify vlan(4)


Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529
# 1.23 12-May-2016 ozaki-r

Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.


Revision tags: nick-nhusb-base-20160422
# 1.22 15-Apr-2016 ozaki-r

Rump-ify if_pppoe

From s-yamaguchi@IIJ


Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.21 02-Dec-2014 ozaki-r

Get rid of weak_alias for bridge_input

bridge_input is now not directly called from ether_input,
so we can remove weak_alias for it.


# 1.20 02-Dec-2014 ozaki-r

Revert "Pull if_drain routine out of m_reclaim"

The commit broke dlopen()'d rumpnet on platforms where ld.so does not
override weak aliases (e.g. musl, Solaris, potentially OS X, ...).

Requested by pooka@.


Revision tags: nick-nhusb-base
# 1.19 27-Nov-2014 ozaki-r

branches: 1.19.2;
Pull if_drain routine out of m_reclaim

It's if-specific and should be in if.c.

No functional change.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.18 18-May-2014 rmind

Fix RUMP build.


Revision tags: yamt-pagecache-base9
# 1.17 26-Apr-2014 pooka

don't invade the __toolchain namespace


# 1.16 26-Apr-2014 pooka

Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.


# 1.15 26-Apr-2014 pooka

kill weak aliases which are no longer necessary


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.14 26-Jun-2013 pooka

branches: 1.14.2; 1.14.6;
Remove the route_info weak alias. It's unnecessary since 2011
and confused Linux ld.so, thus preventing dlopen() of librumpnet.
Reported in private email by Justin Cormack.

Also, g/c a few other stubs which are no longer necessary.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.13 05-Aug-2012 pooka

branches: 1.13.2;
Remove stubs which have been provided elsewhere for almost 2 years now.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base
# 1.12 01-Feb-2011 matt

branches: 1.12.4;
Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs. The old unclean one remains for backward compatibility.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231
# 1.11 08-Dec-2010 pooka

branches: 1.11.2; 1.11.4;
weak stubs for agr(4)


# 1.10 08-Dec-2010 pooka

add weak stubs for bridge (not the game)


# 1.9 08-Dec-2010 joerg

Don't alias the same symbol twice.


Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base
# 1.8 23-Jan-2009 pooka

branches: 1.8.4; 1.8.8;
Add a few stubs to allow to compile - i'll have to sort these out later.


Revision tags: mjf-devfs2-base
# 1.7 29-Dec-2008 pooka

branches: 1.7.2;
Provide ifunit stub in the same place as others.


# 1.6 29-Dec-2008 pooka

__weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.


# 1.5 18-Dec-2008 pooka

__KERNEL_RCSID


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1
# 1.4 16-Oct-2008 pooka

branches: 1.4.2; 1.4.4;
...... except that the compat converter is actually supposed to convert
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.

All in all, a very healthy debugging session (if you're a vampire
or a wraith).


# 1.3 16-Oct-2008 pooka

... except that compat_ifioctl() must know how to route the
commands further.


# 1.2 16-Oct-2008 pooka

Add a few compat stubs. They shouldn't be required at all, but I
don't currently have the time to wage a holy war against how the
kernel decides it wants them.


# 1.1 15-Oct-2008 pooka

Add the basic rump networking library, which provides e.g. sockets
and mbufs. This is required by all network-using rump applications.