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