svn commit: r361706 - in head/sys: net net/route netinet netinet6
Cy Schubert
Cy.Schubert at cschubert.com
Mon Jun 1 21:43:36 UTC 2020
In message <6FE2C649-2D81-4C9C-B821-D8226B6BB95C at fh-muenster.de>, Michael
Tuexe
n writes:
>
> --Apple-Mail=_30A6D176-B5FA-4F13-A949-3CE33C73C3B8
> Content-Transfer-Encoding: quoted-printable
> Content-Type: text/plain;
> charset=us-ascii
>
> > On 1. Jun 2020, at 22:49, Alexander V. Chernikov =
> <melifaro at freebsd.org> wrote:
> >=20
> > Author: melifaro
> > Date: Mon Jun 1 20:49:42 2020
> > New Revision: 361706
> > URL: https://svnweb.freebsd.org/changeset/base/361706
> >=20
> > Log:
> > * Add rib_<add|del|change>_route() functions to manipulate the =
> routing table.
> >=20
> > The main driver for the change is the need to improve notification =
> mechanism.
> > Currently callers guess the operation data based on the rtentry =
> structure
> > returned in case of successful operation result. There are two =
> problems with
> > this appoach. First is that it doesn't provide enough information =
> for the
> > upcoming multipath changes, where rtentry refers to a new nexthop =
> group,
> > and there is no way of guessing which paths were added during the =
> change.
> > Second is that some rtentry fields can change during notification =
> and
> > protecting from it by requiring customers to unlock rtentry is not =
> desired.
> >=20
> > Additionally, as the consumers such as rtsock do know which operation =
> they
> > request in advance, making explicit add/change/del versions of the =
> functions
> > makes sense, especially given the functions don't share a lot of =
> code.
> >=20
> > With that in mind, introduce rib_cmd_info notification structure and
> > rib_<add|del|change>_route() functions, with mandatory rib_cmd_info =
> pointer.
> > It will be used in upcoming generalized notifications.
> >=20
> > * Move definitions of the new functions and some other =
> functions/structures
> > used for the routing table manipulation to a separate header file,
> > net/route/route_ctl.h. net/route.h is a frequently used file =
> included in
> > ~140 places in kernel, and 90% of the users don't need these =
> definitions.
> >=20
> > Reviewed by: ae
> > Differential Revision: https://reviews.freebsd.org/D25067
> >=20
> > Modified:
> > head/sys/net/if_llatbl.c
> > head/sys/net/route.c
> > head/sys/net/route.h
> > head/sys/net/route/nhop_ctl.c
> > head/sys/net/route/route_ctl.c
> > head/sys/net/route/route_ddb.c
> > head/sys/net/route/route_helpers.c
> > head/sys/net/route/route_temporal.c
> > head/sys/net/route/route_var.h
> > head/sys/netinet/in_rmx.c
> > head/sys/netinet/ip_icmp.c
> > head/sys/netinet6/icmp6.c
> > head/sys/netinet6/in6_rmx.c
> > head/sys/netinet6/nd6_rtr.c
> >=20
> > Modified: head/sys/net/if_llatbl.c
> > =
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D
> > --- head/sys/net/if_llatbl.c Mon Jun 1 20:40:40 2020 =
> (r361705)
> > +++ head/sys/net/if_llatbl.c Mon Jun 1 20:49:42 2020 =
> (r361706)
> > @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$");
> > #include <net/if_dl.h>
> > #include <net/if_var.h>
> > #include <net/route.h>
> > +#include <net/route/route_ctl.h>
> Where is this file coming from?
That was in r361704 and reverted in r361705, but should have been in this
commit too.
>
> Best regards
> Michael
--
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX: <cy at FreeBSD.org> Web: https://FreeBSD.org
NTP: <cy at nwtime.org> Web: https://nwtime.org
The need of the many outweighs the greed of the few.
More information about the svn-src-all
mailing list