Home | History | Annotate | Download | only in common
History log of /src/sys/compat/common/rtsock_50.c
RevisionDateAuthorComments
 1.16  29-Jan-2020  thorpej Don't reference ifp->if_data directly; use if_export_if_data().
 1.15  12-Dec-2019  pgoyette branches: 1.15.2;
Rather than keeping a separate mutex, condvar, and pserialize for each
module hook, we can share a common set of synchronization structures.
This cuts the amount of cacheline_aligned data for these structures by
50%.

Note that we still have a per-hook localcount, since we need to count
individual references.

As discussed with riastradh@

Welcome to 9.99.22 !
 1.14  04-Oct-2019  msaitoh Make clog static. Found by lgtm bot.
 1.13  29-Apr-2019  roy Introduce rt_addrmsg_src which adds RTA_AUTHOR to the message.
Use this when we notify userland of a duplicate address
and set RTA_AUTHOR to the hardware address of the sender.

While here, match the logging diagnostic of INET6 to the simpler one
of INET so it's consistent.
 1.12  29-Apr-2019  roy rtsock: Route address message simplification

Rename rt_newaddrmsg to rt_addrmsg_rt.
Add rt_addrmsg which drops the error and route arguments which are only
needed by one caller.
 1.11  29-Apr-2019  pgoyette Move the set-up of the net.oroute... sysctl tree to compat_50 since
the new AF_ROUTE was introduced in NetBSD-6.0
 1.10  01-Mar-2019  pgoyette Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

NFCI intended.

Ride the earlier kernel bump - it;s getting crowded.
 1.9  29-Jan-2019  pgoyette Normalize all the compat hooks' names to the form

<subsystem>_<function>_<version>_hook

NFCI

XXX Note that although this introduces a change in the kernel-to-
XXX module interface, we are NOT bumping the kernel version number.
XXX We will bump the version number once the interface stabilizes.
 1.8  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.7  10-May-2018  nonaka branches: 1.7.2;
Added missing ifi_link_state at compat_50_rt_oifmsg() and compat_50_iflist().
 1.6  16-Dec-2017  maxv branches: 1.6.2;
Build these functions regardless of whether COMPAT_50 or COMPAT_70 are
enabled. They must be there, because they are needed in rtsock.c even
when no compat option is enabled.
 1.5  16-Dec-2017  mrg remove check for netbsd 1.5 without 5.0. it doesn't happen.
 1.4  24-Aug-2015  pooka branches: 1.4.10;
to garnish, dust with _KERNEL_OPT
 1.3  01-Feb-2011  matt branches: 1.3.14; 1.3.32;
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.
 1.2  11-Jan-2009  christos branches: 1.2.2; 1.2.4; 1.2.10; 1.2.12; 1.2.14;
merge christos-time_t
 1.1  29-Mar-2008  christos branches: 1.1.2; 1.1.6;
file rtsock_50.c was initially added on branch christos-time_t.
 1.1.6.1  04-May-2009  yamt sync with head.
 1.1.2.1  29-Mar-2008  christos new files
 1.2.14.1  08-Feb-2011  bouyer Sync with HEAD
 1.2.12.1  06-Jun-2011  jruoho Sync with HEAD.
 1.2.10.1  05-Mar-2011  rmind sync with head
 1.2.4.2  19-Jan-2009  skrll Sync with HEAD.
 1.2.4.1  11-Jan-2009  skrll file rtsock_50.c was added on branch nick-hppapmap on 2009-01-19 13:17:17 +0000
 1.2.2.2  17-Jan-2009  mjf Sync with HEAD.
 1.2.2.1  11-Jan-2009  mjf file rtsock_50.c was added on branch mjf-devfs2 on 2009-01-17 13:28:41 +0000
 1.3.32.1  22-Sep-2015  skrll Sync with HEAD
 1.3.14.1  03-Dec-2017  jdolecek update from HEAD
 1.4.10.2  21-Jan-2020  martin Apply patch, requested by pgoyette in ticket #1484:

sys/compat/common/rtsock_50.c (patch)

PR kern/54861:

For MODULAR kernels, we include all of the compat code, even if not
required by the selected COMPAT_xx options. Thus, rtsock_14.c is
included in the kernel.

rtsock_14.c in turn references routines in rtsock_50.c which is also
included in the kernel. However, if the kernel is built without the
COMPAT_50 option, rtsock_50.c ends up being a no-op and doesn't
define any of the routines that rtsock_14.c needs.

Thus, MODULAR kernels which only have COMPAT_60 (or newer) will fail
to link becuase of the undefined symbols.

Fix is to make rtsock_50.c functional if MODULAR kernel option is
specified.
 1.4.10.1  09-Jun-2018  martin Pull up following revision(s) (requested by nonaka in ticket #861):

sys/compat/common/rtsock_50.c: revision 1.7

Added missing ifi_link_state at compat_50_rt_oifmsg() and compat_50_iflist().
 1.6.2.7  23-Jan-2019  pgoyette Convert the macros for setting and unsetting a hook to generate
in-line code rather than using an intermediary hook##set routine.
Hooks are set and unset only in one place, so the intermediary
routine provides no benefit. IMHO using the macro at the point-
of-call is more readable than using it elsewhere in the code and
then calling the generated intermediary routine (for which you
won't even find its declaration or definition unless you remember
to search for the HOOK_SET macro instead).

NFC intended, will verify with a bulk build and an atf test run.
 1.6.2.6  15-Jan-2019  pgoyette Remove a couple of unneeded #include-s

XXX There's probably a lot more clean-up that could happen here!
 1.6.2.5  15-Jan-2019  pgoyette Split sys/net/rtsock.c into two pieces, one of which is applicable only
to -current and one which is shared between -current and COMPAT_50.
 1.6.2.4  14-Jan-2019  pgoyette Create a variant of the HOOK macros that handles hook routines of
type void, and use them where appropriate.
 1.6.2.3  13-Jan-2019  pgoyette Add the required hooks for rtsock_50 and modify the COMPATCALL() macro
to use the hooks. While the rtsock_50 situation is still sub-optimal
(it includes the main rtsock.c with a whole bunch of function and
variable redefinitions via macros), this at least makes it possible to
load the rtsock_50 code separately from more recent code, rather than
the previous requirement that rtsock_50 be built-in.
 1.6.2.2  11-Jan-2019  pgoyette Rework the various sysctl-related routines to call the correct code
for each version. While here, extract the 5.0 specific code instead
of including in the main rtsock.c code.

Also, clean up all the sysctl-related routines to prevent building
more than one copy, no matter how many places rtsock.c gets #include'd
into!
 1.6.2.1  21-May-2018  pgoyette Sync with HEAD
 1.7.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.2.1  10-Jun-2019  christos Sync with HEAD
 1.15.2.1  29-Feb-2020  ad Sync with head.

RSS XML Feed