Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[neighsync] Modification for ignoring neighbor entries #3330

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

peter-yu
Copy link
Contributor

  1. [neighsync] Ignore neighbor entries on non-router-interface

  2. Don't ignore reserved IPv4 LL address

  • For BGP unnumber, reserved IPv4 LL (169.254.0.1) will be used as next hop. FRR configure it as permanent neighbor when BGP session is established. We ignore neighbor entry learned on non-router interface currently, this reserved IPv4 LL will not be synced if we don't configure use-link-local-only before this neighbor learnt event.
  1. [neighsyncd] Ignore null MAC address neighbor while adding neighbor

By executing the following commands would cause the netlink message bring a NULL MAC neighbor and cause the neighsyncd exception.

The libnl api nl_addr2str would output the string "none" if the lladdr is NULL, and the string is an exception case for the class MacAddress. Therefore, this commit add to ignore this condition while the rtnl_neigh_get_lladdr can not retrieve the lladdr successfully

ip neigh replace 1.2.3.8 lladdr 00:33:55:66:55:66 dev Vlan10 nud noarp
ip neigh replace 1.2.3.8 lladdr 00:33:55:66:55:66 dev Vlan10 nud none

1. [neighsync] Ignore neighbor entries on non-router-interface

2. Don't ignore reserved IPv4 LL address

- For BGP unnumber, reserved IPv4 LL (169.254.0.1) will be used as
  next hop.
  FRR configure it as permanent neighbor when BGP session is established.
  We ignore neighbor entry learned on non-router interface currently,
  this reserved IPv4 LL will not be synced if we don't configure use-link-local-only
  before this neighbor learnt event.

3. [neighsyncd] Ignore null MAC address neighbor while adding neighbor

By executing the following commands would cause the netlink message bring a NULL MAC neighbor
and cause the neighsyncd exception.

The libnl api `nl_addr2str` would output the string `"none"` if the lladdr is `NULL`,
and the string is an exception case for the class `MacAddress`. Therefore, this
commit add to ignore this condition while the `rtnl_neigh_get_lladdr` can not
retrieve the lladdr successfully

```
ip neigh replace 1.2.3.8 lladdr 00:33:55:66:55:66 dev Vlan10 nud noarp
ip neigh replace 1.2.3.8 lladdr 00:33:55:66:55:66 dev Vlan10 nud none
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant