Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Feb 2017 11:52:24 -0800
From:      =?UTF-8?Q?Ermal_Lu=C3=A7i?= <eri@freebsd.org>
To:        "Andrey V. Elsukov" <bu7cher@yandex.ru>
Cc:        =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= <olivier@freebsd.org>,  "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "Alexander V. Chernikov" <melifaro@freebsd.org>
Subject:   Re: How to enable ECMP flow based forwarding ?
Message-ID:  <CAPBZQG3hwjDkE8NUBoe%2BoHoMp6QLpn-gNCTq=zbhwqcs9n3-sA@mail.gmail.com>
In-Reply-To: <6162c934-3f22-889e-f45f-6f988342f4b3@yandex.ru>
References:  <CA%2Bq%2BTcqXv1HryUaBW1LBFVcyDMwDAMs0Ujp8jBRD96zO_63OQw@mail.gmail.com> <6162c934-3f22-889e-f45f-6f988342f4b3@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
--001a1148cd22376f46054882e7b0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 14, 2017 at 6:13 AM, Andrey V. Elsukov <bu7cher@yandex.ru>
wrote:

> On 14.02.2017 03:23, Olivier Cochard-Labb=C3=A9 wrote:
> > Hi,
> >
> > I'm testing FreeBSD ECMP behavior by adding "options RADIX_MPATH" to my
> > kernel configuration (11-stable).
> > Now I can configure two identical routes toward 2 different next-hop:
> First
> > step achieved :-)
> > But it uses only the first entry and never uses the second one.
> >
> > I've tried to shutdown the first next-hop router (then no more arp-repl=
y
> > from this next-hop): But the ECMP FreeBSD router sticks to its first
> route
> > entry and never try the second entry :-(
> >
> > Is there something else to enable (like RSS?) for having a real ECMP fl=
ow
> > based router ?
>
> I think you need to implement some code first. The fastfwd has not
> supported MPATH and tryforward also doesn't support it. For IPv4 you can
> try to add some IPsec security policy to disable ip_tryforward. In this
> case ip_forward() will be used, and it uses rtalloc_mpath_fib(), so,
> probably, it will work.
>
> This seems to be a bug to file and which can quickly be fixed by
presenting same
behaviour that slow path does when RADIX_MPATH is active.

It does not impact performance or any of the problems ip_tryforward() is
trying to
solve.

Try the attached patch it should fix your issues.


--
> WBR, Andrey V. Elsukov
>
> --
> Ermal
>

--001a1148cd22376f46054882e7b0
Content-Type: text/plain; charset=US-ASCII; name="ip_tryforward_route_mpath.diff"
Content-Disposition: attachment; filename="ip_tryforward_route_mpath.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_iz5y38e21

ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L2lwX2Zhc3Rmd2QuYyBiL3N5cy9uZXRpbmV0L2lwX2Zh
c3Rmd2QuYwppbmRleCBlYTU5YzEwLi4wYTUwZjYyIDEwMDY0NAotLS0gYS9zeXMvbmV0aW5ldC9p
cF9mYXN0ZndkLmMKKysrIGIvc3lzL25ldGluZXQvaXBfZmFzdGZ3ZC5jCkBAIC0xMDgsNyArMTA4
LDggQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1ZGUgPG1hY2hpbmUvaW5fY2tzdW0u
aD4KIAogc3RhdGljIHN0cnVjdCBzb2NrYWRkcl9pbiAqCi1pcF9maW5kcm91dGUoc3RydWN0IHJv
dXRlICpybywgc3RydWN0IGluX2FkZHIgZGVzdCwgc3RydWN0IG1idWYgKm0pCitpcF9maW5kcm91
dGUoc3RydWN0IHJvdXRlICpybywgc3RydWN0IGlwICppcCwgc3RydWN0IGluX2FkZHIgZGVzdCwK
KyAgICAgICAgICAgICAgIHN0cnVjdCBtYnVmICptKQogewogICAgICAgIHN0cnVjdCBzb2NrYWRk
cl9pbiAqZHN0OwogICAgICAgIHN0cnVjdCBydGVudHJ5ICpydDsKQEAgLTEyMSw3ICsxMjIsMTQg
QEAgaXBfZmluZHJvdXRlKHN0cnVjdCByb3V0ZSAqcm8sIHN0cnVjdCBpbl9hZGRyIGRlc3QsIHN0
cnVjdCBtYnVmICptKQogICAgICAgIGRzdC0+c2luX2ZhbWlseSA9IEFGX0lORVQ7CiAgICAgICAg
ZHN0LT5zaW5fbGVuID0gc2l6ZW9mKCpkc3QpOwogICAgICAgIGRzdC0+c2luX2FkZHIuc19hZGRy
ID0gZGVzdC5zX2FkZHI7Ci0gICAgICAgaW5fcnRhbGxvY19pZ24ocm8sIDAsIE1fR0VURklCKG0p
KTsKKyNpZmRlZiBSQURJWF9NUEFUSAorICAgICAgICBydGFsbG9jX21wYXRoX2ZpYigmcm8sCisg
ICAgICAgICAgICBudG9obChpcC0+aXBfc3JjLnNfYWRkciBeIGlwLT5pcF9kc3Quc19hZGRyKSwK
KyAgICAgICAgICAgIE1fR0VURklCKG0pKTsKKyNlbHNlCisgICAgICAgIGluX3J0YWxsb2NfaWdu
KCZybywgMCwgTV9HRVRGSUIobSkpOworI2VuZGlmCisKIAogICAgICAgIC8qCiAgICAgICAgICog
Um91dGUgdGhlcmUgYW5kIGludGVyZmFjZSBzdGlsbCB1cD8KQEAgLTMwNSw3ICszMTMsNyBAQCBw
YXNzaW46CiAgICAgICAgLyoKICAgICAgICAgKiBGaW5kIHJvdXRlIHRvIGRlc3RpbmF0aW9uLgog
ICAgICAgICAqLwotICAgICAgIGlmICgoZHN0ID0gaXBfZmluZHJvdXRlKCZybywgZGVzdCwgbSkp
ID09IE5VTEwpCisgICAgICAgaWYgKChkc3QgPSBpcF9maW5kcm91dGUoJnJvLCBpcCwgZGVzdCwg
bSkpID09IE5VTEwpCiAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsgICAgLyogaWNtcCB1bnJl
YWNoIGFscmVhZHkgc2VudCAqLwogICAgICAgIGlmcCA9IHJvLnJvX3J0LT5ydF9pZnA7CiAKQEAg
LTM2Niw3ICszNzQsNyBAQCBmb3J3YXJkbG9jYWw6CiAgICAgICAgICAgICAgICAgICAgICAgIG0t
Pm1fZmxhZ3MgJj0gfk1fSVBfTkVYVEhPUDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgIFJURlJFRShyby5yb19ydCk7Ci0gICAgICAgICAgICAgICBpZiAoKGRzdCA9IGlwX2ZpbmRy
b3V0ZSgmcm8sIGRlc3QsIG0pKSA9PSBOVUxMKQorICAgICAgICAgICAgICAgaWYgKChkc3QgPSBp
cF9maW5kcm91dGUoJnJvLCBpcCwgZGVzdCwgbSkpID09IE5VTEwpCiAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBOVUxMOyAgICAvKiBpY21wIHVucmVhY2ggYWxyZWFkeSBzZW50ICovCiAg
ICAgICAgICAgICAgICBpZnAgPSByby5yb19ydC0+cnRfaWZwOwogICAgICAgIH0KCg==
--001a1148cd22376f46054882e7b0--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPBZQG3hwjDkE8NUBoe%2BoHoMp6QLpn-gNCTq=zbhwqcs9n3-sA>