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

get_bgp_config() mismatch between neighbors and peer-group #1504

Closed
1 task done
emfusion opened this issue Oct 4, 2021 · 0 comments
Closed
1 task done

get_bgp_config() mismatch between neighbors and peer-group #1504

emfusion opened this issue Oct 4, 2021 · 0 comments

Comments

@emfusion
Copy link
Contributor

emfusion commented Oct 4, 2021

On EOS >=4.23 get_bgp_config() returns an empty dict of neighbors for a configured peer-group due to Arista syntax change

Note: Please check https://guides.github.com/features/mastering-markdown/
to see how to properly format your request.

Did you follow the steps from https://github.com/napalm-automation/napalm#faq

(Place an x between the square brackets where applicable)

  • Yes
  • [] No

Setup

napalm version

napalm==3.2.0

Network operating system version

(Paste verbatim output from show version - or equivalent - between quotes below)

Arista DCS-7280SR2A-48YC6-M-F
Software image version: 4.24.3M

Steps to Reproduce the Issue

run the get_bgp_config() from an eos device running only the new syntax >= 4.23.0 (https://www.arista.com/en/support/advisories-notices/fieldnotices/7097-field-notice-39). The neighbors dict containing the configured neighbors belonging to the peer-group will always be empty even when they exists.

For example using the following BGP config

router bgp 64496
   maximum-paths 32
   neighbor IPv6-PEERS-GROUP-NAME peer group
   neighbor IPv6-PEERS-GROUP-NAME remove-private-as
   neighbor IPv6-PEERS-GROUP-NAME route-map reject-all in
   neighbor IPv6-PEERS-GROUP-NAME route-map reject-all out
   neighbor IPv6-PEERS-GROUP-NAME maximum-routes 100
   neighbor 2001:db8::0:1 peer group IPv6-PEERS-GROUP-NAME
   neighbor 2001:db8::0:1 remote-as 64510
   neighbor 2001:db8::0:1 maximum-routes 500
!

The output should look like

{
  "IPv6-PEERS-GROUP-NAME": {
    "type": "",
    "multipath": false,
    "apply_groups": [],
    "remove_private_as": true,
    "multihop_ttl": 0,
    "remote_as": 0,
    "local_address": "",
    "local_as": 64496,
    "description": "",
    "import_policy": "reject-all",
    "export_policy": "reject-all",
    "prefix_limit": {},
    "neighbors": {
      "2001:db8::0:1": {
        "description": "",
        "remote_as": 64510,
        "local_address": "",
        "local_as": 64496,
        "nhs": false,
        "route_reflector_client": false,
        "import_policy": "",
        "export_policy": "",
        "authentication_key": "",
        "prefix_limit": {}
      }
    }
  }
}

but we get the following instead

{
  "IPv6-PEERS-GROUP-NAME": {
    "type": "",
    "multipath": false,
    "apply_groups": [],
    "remove_private_as": true,
    "multihop_ttl": 0,
    "remote_as": 0,
    "local_address": "",
    "local_as": 64496,
    "description": "",
    "import_policy": "reject-all",
    "export_policy": "reject-all",
    "prefix_limit": {},
    "neighbors": {}
  }
}
...

I have a PR to fix this: #1503

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

No branches or pull requests

1 participant