From: Ido Schimmel <idosch@idosch.org>
To: "Zoltán Elek" <elek.zoltan.dev@gmail.com>
Cc: netdev@vger.kernel.org, dsa@cumulusnetworks.com
Subject: Re: veth pair ping fail if one of them enslaved into a VRF
Date: Tue, 2 Jul 2019 22:21:22 +0300 [thread overview]
Message-ID: <20190702192122.GA16784@splinter> (raw)
In-Reply-To: <CANsP1a4HCthstZP16k-ABajni1m75+VKT+mgLPF=4yGJ-H_ONQ@mail.gmail.com>
On Tue, Jul 02, 2019 at 08:42:15PM +0200, Zoltán Elek wrote:
> Hi!
>
> I have a simple scenario, with a veth pair, IP addresses assigned from
> the same subnet. They can ping eachother. But when I put one of them
> into a VRF (in the example below, I put veth in-vrf into the test-vrf
> VRF) the ping fails. My first question: that is the expected behavior?
> And my second question: is there any way to overcome this?
>
> Here are my test commands:
> ip link add out-of-vrf type veth peer name in-vrf
> ip link set dev out-of-vrf up
> ip link set dev in-vrf up
> ip link add test-vrf type vrf table 10
> ip link set dev test-vrf up
> ip -4 addr add 100.127.253.2/24 dev in-vrf
> ip -4 addr add 100.127.253.1/24 dev out-of-vrf
>
> Then ping works as expected:
> ping -c1 -I 100.127.253.1 100.127.253.2
>
> After I put the in-vrf into test-vrf, ping fails:
> ip link set in-vrf vrf test-vrf up
You need to re-order the FIB rules so that lookup for 100.127.253.1
happens in table 10 and not in the local table:
# ip -4 rule add pref 32765 table local
# ip -4 rule del pref 0
# ip -4 rule show
1000: from all lookup [l3mdev-table]
32765: from all lookup local
32766: from all lookup main
32767: from all lookup default
Bad:
ping 16735 [001] 13726.398115: fib:fib_table_lookup: table 255 oif 0 iif
9 proto 0 100.127.253.2/0 -> 100.127.253.1/0 tos 0 scope 0 flags 4 ==>
dev out-of-vrf gw 0.0.0.0 src 100.127.253.1 err 0
Good:
ping 16665 [001] 13500.937145: fib:fib_table_lookup: table 10 oif 0 iif
9 proto 0 100.127.253.2/0 -> 100.127.253.1/0 tos 0 scope 0 flags 4 ==>
dev in-vrf gw 0.0.0.0 src 100.127.253.2 err 0
>
> Thanks,
> Zoltan Elek,
> VI1
next prev parent reply other threads:[~2019-07-02 19:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-02 18:42 veth pair ping fail if one of them enslaved into a VRF Zoltán Elek
2019-07-02 19:21 ` Ido Schimmel [this message]
2019-07-02 19:36 ` Zoltán Elek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190702192122.GA16784@splinter \
--to=idosch@idosch.org \
--cc=dsa@cumulusnetworks.com \
--cc=elek.zoltan.dev@gmail.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.