From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f65.google.com ([209.85.215.65]:43853 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750985AbeBTUPN (ORCPT ); Tue, 20 Feb 2018 15:15:13 -0500 Received: by mail-lf0-f65.google.com with SMTP id q69so5979367lfi.10 for ; Tue, 20 Feb 2018 12:15:12 -0800 (PST) Subject: Re: [PATCH iproute2] ip: link_gre6.c: Support IP6_TNL_F_ALLOW_LOCAL_REMOTE flag To: Petr Machata , netdev@vger.kernel.org References: From: Serhey Popovych Message-ID: Date: Tue, 20 Feb 2018 22:15:05 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Wm0YISJPkCVwEDHcu1GVyek8BxfuZVE75" Sender: netdev-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Wm0YISJPkCVwEDHcu1GVyek8BxfuZVE75 Content-Type: multipart/mixed; boundary="wwSbBrWAqDoJC0SzwPEsrcrYUiAuQuX2y"; protected-headers="v1" From: Serhey Popovych To: Petr Machata , netdev@vger.kernel.org Message-ID: Subject: Re: [PATCH iproute2] ip: link_gre6.c: Support IP6_TNL_F_ALLOW_LOCAL_REMOTE flag References: In-Reply-To: --wwSbBrWAqDoJC0SzwPEsrcrYUiAuQuX2y Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Petr Machata wrote: > For IP-in-IP tunnels, one can specify the [no]allow-localremote command= > when configuring a device. Under the hood, this flips the > IP6_TNL_F_ALLOW_LOCAL_REMOTE flag on the netdevice. However, ip6gretap > and ip6erspan devices, where the flag is also relevant, are not IP-in-I= P > tunnels, and thus there's no way to configure the flag on these > netdevices. Therefore introduce the command to link_gre6 as well. >=20 > The original support was introduced in commit > 21440d19d957 ("ip: link_ip6tnl.c/ip6tunnel.c: Support IP6_TNL_F_ALLOW_L= OCAL_REMOTE flag") Maybe it is better to rebase this against iproute2-next? There are lot of changes already done here and there are plans on ip and ipv6 tunnel modules variants merge. >=20 > Signed-off-by: Petr Machata > --- > ip/link_gre6.c | 11 +++++++++++ > man/man8/ip-link.8.in | 14 ++++++++++++++ > 2 files changed, 25 insertions(+) >=20 > diff --git a/ip/link_gre6.c b/ip/link_gre6.c > index 4045f65..4c05344 100644 > --- a/ip/link_gre6.c > +++ b/ip/link_gre6.c > @@ -44,6 +44,7 @@ static void print_usage(FILE *f) > " [ flowlabel FLOWLABEL ]\n" > " [ dscp inherit ]\n" > " [ fwmark MARK ]\n" > + " [ [no]allow-localremote ]\n" > " [ dev PHYS_DEV ]\n" > " [ noencap ]\n" > " [ encap { fou | gue | none } ]\n"= > @@ -348,6 +349,10 @@ get_failed: > invarg("invalid fwmark\n", *argv); > flags &=3D ~IP6_TNL_F_USE_ORIG_FWMARK; > } > + } else if (strcmp(*argv, "allow-localremote") =3D=3D 0) { > + flags |=3D IP6_TNL_F_ALLOW_LOCAL_REMOTE; > + } else if (strcmp(*argv, "noallow-localremote") =3D=3D 0) { > + flags &=3D ~IP6_TNL_F_ALLOW_LOCAL_REMOTE; > } else if (strcmp(*argv, "encaplimit") =3D=3D 0) { > NEXT_ARG(); > if (strcmp(*argv, "none") =3D=3D 0) { > @@ -534,6 +539,12 @@ static void gre_print_opt(struct link_util *lu, FI= LE *f, struct rtattr *tb[]) > if (oflags & GRE_CSUM) > print_bool(PRINT_ANY, "ocsum", "ocsum ", true); > =20 > + if (flags & IP6_TNL_F_ALLOW_LOCAL_REMOTE) > + print_bool(PRINT_ANY, > + "ip6_tnl_f_allow_local_remote", > + "allow-localremote ", > + true); > + > if (flags & IP6_TNL_F_USE_ORIG_FWMARK) { > print_bool(PRINT_ANY, > "ip6_tnl_f_use_orig_fwmark", > diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in > index 481589e..5dee9fc 100644 > --- a/man/man8/ip-link.8.in > +++ b/man/man8/ip-link.8.in > @@ -793,6 +793,8 @@ the following additional arguments are supported: > ] [ > .BI "dscp inherit" > ] [ > +.BI "[no]allow-localremote" > +] [ > .BI dev " PHYS_DEV " > ] [ > .RB external > @@ -857,6 +859,11 @@ flag is equivalent to the combination > - specifies a fixed flowlabel. > =20 > .sp > +.BI [no]allow-localremote > +- specifies whether to allow remote endpoint to have an address config= ured on > +local host. > + > +.sp > .BI tclass " TCLASS" > - specifies the traffic class field on > tunneled packets, which can be specified as either a two-digit > @@ -927,6 +934,8 @@ the following additional arguments are supported: > ] [ > .BR erspan_hwid " \fIhwid " > ] [ > +.BI "[no]allow-localremote" > +] [ > .RB external > ] > =20 > @@ -965,6 +974,11 @@ traffic's source port and direction. > is a 6-bit value for users to configure. > =20 > .sp > +.BI [no]allow-localremote > +- specifies whether to allow remote endpoint to have an address config= ured on > +local host. > + > +.sp > .BR external > - make this tunnel externally controlled (or not, which is the default= ). > In the kernel, this is referred to as collect metadata mode. This fla= g is >=20 --wwSbBrWAqDoJC0SzwPEsrcrYUiAuQuX2y-- --Wm0YISJPkCVwEDHcu1GVyek8BxfuZVE75 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBAgAGBQJajIHNAAoJEBTawMmQ61bB0vwIAJhlPQzhrdtERUhvcZwvW3/5 6CYlrf5qmYg2xUc3+hSydKJ5/DNlJi813q7GyTHk0YjVuZIFHVueon17Hidrj9uw /Os8OocJHHe+14SvCqCLDd28y+PrfK3oJNXSNZPdL4u/JferCwLF6SmCxth8JFf8 D29ElA1asRvzcWdqDjEiR9fnDweRdi/V4YgiWsOJ9/tGNHSTrAyrCZW9hPMH2iy9 GxSRiv/VH9cehC+ieMmQkjXbhTmfeOSib8EAaxtnogR8PVj2ZCBGI1S6mmkDLAfr RKGMgFdfb9N/8tmskKFaKrIFF8AC3E8pFgKhtIEo+pSORmNJyx0DjpMTJnrM6Pc= =qriX -----END PGP SIGNATURE----- --Wm0YISJPkCVwEDHcu1GVyek8BxfuZVE75--