Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Jun 2020 23:00:42 +0100
From:      Alexander V. Chernikov <melifaro@freebsd.org>
To:        Cy Schubert <cy.schubert@cschubert.com>, Michael Tuexen <tuexen@fh-muenster.de>
Cc:        src-committers <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r361706 - in head/sys: net net/route netinet netinet6
Message-ID:  <1493091591048645@mail.yandex.ru>
In-Reply-To: <202006012143.051LhS8D073952@slippy.cwsent.com>
References:  <202006012049.051KnhxX060695@repo.freebsd.org>  <6FE2C649-2D81-4C9C-B821-D8226B6BB95C@fh-muenster.de> <202006012143.051LhS8D073952@slippy.cwsent.com>

next in thread | previous in thread | raw e-mail | index | archive | help
01.06.2020, 22:43, "Cy Schubert" <cy.schubert@cschubert.com>:
> In message <6FE2C649-2D81-4C9C-B821-D8226B6BB95C@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@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.
Thanks for the notification and sorry for the breakage.
Didn't realise it was not added and was testin another change.
Commited back in r361707.
>
>>  Best regards
>>  Michael
>
> --
> Cheers,
> Cy Schubert <Cy.Schubert@cschubert.com>
> FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org
> NTP: <cy@nwtime.org> Web: https://nwtime.org
>
>         The need of the many outweighs the greed of the few.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1493091591048645>