Open dineshkumarkamalakannan opened 4 years ago
I can confirm the issue, it seems we need to backport some of the VRF fixes from @pguibert6WIND . I'll try to include them in PR #5149 , otherwise feel free to open another PR with the fixes (if I take too long).
I just tried 7.2 with #4564 commits and it doesn't fix the issue. The topology tests works normally, the problem seems to happen when you manually type the configurations.
We have to investigate this issue a bit more.
@dineshkumarkamalakannan I managed to fix my problem by setting the following sysctl
:
sysctl net.ipv4.udp_l3mdev_accept=1
I would also check for net.ipv4.ip_forward = 1
.
Does this helps?
@rzalamena it works with the above workaround thats a lot.
I've got some useful clues from @louberger in today's meeting: we need to set that sysctl
in two conditions:
BIND
ed to VRFs (this is bfdd
case which I'm fixing)Enabling that sysctl
causes VRF sockets to receive packets from any VRF, so it is a potential security issue. Disabling it only allow sockets to receive packets from the VRFs they are binded to.
Resources for better understanding:
I produced a branch with the fix, however it still doesn't work without that sysctl
. I tried it with kernels version 4.15 and 5.0 (linux-generic and linux-generic-hwe respectively from Ubuntu 18.04.3).
Here is the link for those who want to try: https://github.com/opensourcerouting/frr/commits/72-bfdd-vrf-socket
Hi @rzalamena - just a possible data point: I've seen the vrf binding problem with kernel 5.0; we had some conversation about it in the context of some of the vrf topotests. so both 4.15 and 5.0 might be examples of versions that need the extra sysctl
. can you try with the 4.18 kernels that have been around - I thought my ubuntu 18 and 19 vms were offering them?
Looks like when BFD is configured for a VRF, on latest dev/7.2 code, I dont see BFD state doing to "INIT" state on receiving "INIT" message from BGP peer. Instead FRR are just sending "DOWN".
Describe the bug According to state machine of BFD,
FRR should be sending "INIT" on receiving "INIT" message from BGP peer.
(put "x" in "[ ]" if you already tried following) [x] Did you check if this is a duplicate issue? [x] Did you test it on the latest FRRouting/frr master branch?
To Reproduce Steps to reproduce the behavior:
BFD peers :
TCPDUMP on next hop BGP peer,
Expected behavior A clear and concise description of what you expected to happen.
Versions
OS Kernel: Ubuntu 16.04.01 kernal : 4.15.0-29
FRR Version [dev/7.2]
This is a git build of frr-7.1-dev-721-g364af5f Associated branch(es): local:dev/7.2 github/FRRouting/frr.git/dev/7.2
Additional context Add any other context about the problem here.
Edited by @rzalamena : changed single "`" (back tick) with "```" (three back ticks) to fix configuration/output display.