6725 lines
265 KiB
Python
6725 lines
265 KiB
Python
# Copyright (c) 2023-2025 Arista Networks, Inc.
|
|
# Use of this source code is governed by the Apache License 2.0
|
|
# that can be found in the LICENSE file.
|
|
"""Tests for anta.tests.routing.bgp.py."""
|
|
|
|
# pylint: disable=C0302
|
|
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, Any
|
|
|
|
import pytest
|
|
|
|
from anta.input_models.routing.bgp import BgpAddressFamily
|
|
from anta.tests.routing.bgp import (
|
|
VerifyBGPAdvCommunities,
|
|
VerifyBGPExchangedRoutes,
|
|
VerifyBGPNlriAcceptance,
|
|
VerifyBGPPeerASNCap,
|
|
VerifyBGPPeerCount,
|
|
VerifyBGPPeerDropStats,
|
|
VerifyBGPPeerGroup,
|
|
VerifyBGPPeerMD5Auth,
|
|
VerifyBGPPeerMPCaps,
|
|
VerifyBGPPeerRouteLimit,
|
|
VerifyBGPPeerRouteRefreshCap,
|
|
VerifyBGPPeerSession,
|
|
VerifyBGPPeerSessionRibd,
|
|
VerifyBGPPeersHealth,
|
|
VerifyBGPPeersHealthRibd,
|
|
VerifyBGPPeerTtlMultiHops,
|
|
VerifyBGPPeerUpdateErrors,
|
|
VerifyBGPRedistribution,
|
|
VerifyBGPRouteECMP,
|
|
VerifyBgpRouteMaps,
|
|
VerifyBGPRoutePaths,
|
|
VerifyBGPSpecificPeers,
|
|
VerifyBGPTimers,
|
|
VerifyEVPNType2Route,
|
|
_check_bgp_neighbor_capability,
|
|
)
|
|
from tests.units.anta_tests import test
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
("input_dict", "expected"),
|
|
[
|
|
pytest.param({"advertised": True, "received": True, "enabled": True}, True, id="all True"),
|
|
pytest.param({"advertised": False, "received": True, "enabled": True}, False, id="advertised False"),
|
|
pytest.param({"advertised": True, "received": False, "enabled": True}, False, id="received False"),
|
|
pytest.param({"advertised": True, "received": True, "enabled": False}, False, id="enabled False"),
|
|
pytest.param({"advertised": True, "received": True}, False, id="missing enabled"),
|
|
pytest.param({}, False),
|
|
],
|
|
)
|
|
def test_check_bgp_neighbor_capability(input_dict: dict[str, bool], expected: bool) -> None:
|
|
"""Test check_bgp_neighbor_capability."""
|
|
assert _check_bgp_neighbor_capability(input_dict) == expected
|
|
|
|
|
|
DATA: list[dict[str, Any]] = [
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"peerState": "Idle",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.0.2": {
|
|
"peerState": "Idle",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
},
|
|
},
|
|
"DEV": {
|
|
"vrf": "DEV",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"peerState": "Idle",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 4, "nlrisAccepted": 4},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn", "num_peers": 2},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 2},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV", "num_peers": 1},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-peer-state-check-true",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.0.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
},
|
|
"10.1.255.0": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
"10.1.255.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
},
|
|
},
|
|
"DEV": {
|
|
"vrf": "DEV",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 4, "nlrisAccepted": 4},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn", "num_peers": 2, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 3, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV", "num_peers": 1, "check_peer_state": True},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-vrf-not-configured",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.0.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
},
|
|
"10.1.255.0": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
"10.1.255.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
},
|
|
},
|
|
"DEV": {
|
|
"vrf": "DEV",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 4, "nlrisAccepted": 4},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn", "num_peers": 2, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 3, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "PROD", "num_peers": 2, "check_peer_state": True},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: PROD - VRF not configured",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-peer-state-check-true",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.0.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
},
|
|
"10.1.255.0": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
"10.1.255.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
},
|
|
},
|
|
"DEV": {
|
|
"vrf": "DEV",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 4, "nlrisAccepted": 4},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn", "num_peers": 2, "check_peer_state": True},
|
|
{"afi": "vpn-ipv4", "num_peers": 2, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 3, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV", "num_peers": 1, "check_peer_state": True},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: vpn-ipv4 - Peer count mismatch - Expected: 2 Actual: 0",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-wrong-count-peer-state-check-true",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.0.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4MplsVpn": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
},
|
|
"10.1.255.0": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
"10.1.255.2": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
},
|
|
},
|
|
},
|
|
"DEV": {
|
|
"vrf": "DEV",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 4, "nlrisAccepted": 4},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn", "num_peers": 3, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 3, "check_peer_state": True},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV", "num_peers": 2, "check_peer_state": True},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: evpn - Peer count mismatch - Expected: 3 Actual: 2",
|
|
"AFI: ipv4 SAFI: unicast VRF: DEV - Peer count mismatch - Expected: 2 Actual: 1",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-wrong-count",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"peerState": "Idle",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "advertised", "nlrisReceived": 0, "nlrisAccepted": 0},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 42, "nlrisAccepted": 42},
|
|
},
|
|
},
|
|
},
|
|
"DEV": {
|
|
"vrf": "DEV",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"peerState": "Idle",
|
|
"peerAsn": "65120",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 4, "nlrisAccepted": 4},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn", "num_peers": 2},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 2},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV", "num_peers": 2},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: evpn - Peer count mismatch - Expected: 2 Actual: 1",
|
|
"AFI: ipv4 SAFI: unicast VRF: default - Peer count mismatch - Expected: 2 Actual: 1",
|
|
"AFI: ipv4 SAFI: unicast VRF: DEV - Peer count mismatch - Expected: 2 Actual: 1",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"DEV": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "evpn"},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV"},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-min-established-time",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"DEV": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"address_families": [
|
|
{"afi": "evpn"},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-vrf-not-configured",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {},
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default - VRF not configured",
|
|
"AFI: ipv4 SAFI: sr-te VRF: MGMT - VRF not configured",
|
|
"AFI: path-selection - VRF not configured",
|
|
"AFI: link-state - VRF not configured",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-found",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [{"vrfs": {"default": {"peerList": []}, "MGMT": {"peerList": []}}}],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default - No peers found",
|
|
"AFI: ipv4 SAFI: sr-te VRF: MGMT - No peers found",
|
|
"AFI: path-selection - No peers found",
|
|
"AFI: link-state - No peers found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-session-not-established",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Idle",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Idle",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"dps": {"advertised": True, "received": True, "enabled": True}}},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Active",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"linkState": {"advertised": True, "received": True, "enabled": True}}},
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Active",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4SrTe": {"advertised": True, "received": True, "enabled": True}}},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - Incorrect session state - Expected: Established Actual: Idle",
|
|
"AFI: ipv4 SAFI: sr-te VRF: MGMT Peer: 10.100.0.12 - Incorrect session state - Expected: Established Actual: Active",
|
|
"AFI: path-selection Peer: 10.100.0.13 - Incorrect session state - Expected: Established Actual: Idle",
|
|
"AFI: link-state Peer: 10.100.0.14 - Incorrect session state - Expected: Established Actual: Active",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-afi-not-negotiated",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": False, "received": False, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"dps": {"advertised": True, "received": False, "enabled": False}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"linkState": {"advertised": False, "received": False, "enabled": False}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4SrTe": {"advertised": False, "received": False, "enabled": False}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - AFI/SAFI state is not negotiated - Advertised: False, Received: False, Enabled: True",
|
|
"AFI: ipv4 SAFI: sr-te VRF: MGMT Peer: 10.100.0.12 - AFI/SAFI state is not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
"AFI: path-selection Peer: 10.100.0.13 - AFI/SAFI state is not negotiated - Advertised: True, Received: False, Enabled: False",
|
|
"AFI: link-state Peer: 10.100.0.14 - AFI/SAFI state is not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-tcp-queues",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 4, "inputQueueLength": 2},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"dps": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 1, "inputQueueLength": 1},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"linkState": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 2, "inputQueueLength": 3},
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4SrTe": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 1, "inputQueueLength": 5},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - Session has non-empty message queues - InQ: 2 OutQ: 4",
|
|
"AFI: ipv4 SAFI: sr-te VRF: MGMT Peer: 10.100.0.12 - Session has non-empty message queues - InQ: 5 OutQ: 1",
|
|
"AFI: path-selection Peer: 10.100.0.13 - Session has non-empty message queues - InQ: 1 OutQ: 1",
|
|
"AFI: link-state Peer: 10.100.0.14 - Session has non-empty message queues - InQ: 3 OutQ: 2",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-min-established-time",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"DEV": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"address_families": [
|
|
{"afi": "evpn"},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV"},
|
|
],
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: evpn Peer: 10.100.0.13 - BGP session not established for the minimum required duration - Expected: 10000s Actual: 9883s",
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - BGP session not established for the minimum required duration - "
|
|
"Expected: 10000s Actual: 9883s",
|
|
"AFI: ipv4 SAFI: unicast VRF: DEV Peer: 10.100.0.12 - BGP session not established for the minimum required duration - "
|
|
"Expected: 10000s Actual: 9883s",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "evpn", "peers": ["10.100.0.13"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-min-established-time",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "evpn", "peers": ["10.100.0.13"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-configured",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.20",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "evpn", "peers": ["10.100.0.13"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - Not configured",
|
|
"AFI: evpn Peer: 10.100.0.13 - Not configured",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT Peer: 10.100.0.14 - Not configured",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-vrf-not-configured",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {},
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "evpn", "peers": ["10.100.0.13"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default - VRF not configured",
|
|
"AFI: evpn - VRF not configured",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT - VRF not configured",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-session-not-established",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Idle",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Idle",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - Incorrect session state - Expected: Established Actual: Idle",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT Peer: 10.100.0.14 - Incorrect session state - Expected: Established Actual: Idle",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-afi-safi-not-negotiated",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": False, "received": False, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": False, "received": False, "enabled": False}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - AFI/SAFI state is not negotiated - Advertised: False, Received: False, Enabled: True",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT Peer: 10.100.0.14 - AFI/SAFI state is not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-afi-safi-not-correct",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": False, "received": False, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": False, "received": False, "enabled": False}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - AFI/SAFI state is not negotiated",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT Peer: 10.100.0.14 - AFI/SAFI state is not negotiated",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-tcp-queues",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 3, "inputQueueLength": 3},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 2, "inputQueueLength": 2},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - Session has non-empty message queues - InQ: 3 OutQ: 3",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT Peer: 10.100.0.14 - Session has non-empty message queues - InQ: 2 OutQ: 2",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-min-established-time",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.12",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
{
|
|
"peerAddress": "10.100.0.13",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"l2VpnEvpn": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.14",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"neighborCapabilities": {"multiprotocolCaps": {"ipv4Unicast": {"advertised": True, "received": True, "enabled": True}}},
|
|
"peerTcpInfo": {"state": "ESTABLISHED", "outputQueueLength": 0, "inputQueueLength": 0},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "peers": ["10.100.0.12"]},
|
|
{"afi": "evpn", "peers": ["10.100.0.13"]},
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "MGMT", "peers": ["10.100.0.14"]},
|
|
],
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"AFI: ipv4 SAFI: unicast VRF: default Peer: 10.100.0.12 - BGP session not established for the minimum required duration - "
|
|
"Expected: 10000s Actual: 9883s",
|
|
"AFI: evpn Peer: 10.100.0.13 - BGP session not established for the minimum required duration - Expected: 10000s Actual: 9883s",
|
|
"AFI: ipv4 SAFI: unicast VRF: MGMT Peer: 10.100.0.14 - BGP session not established for the minimum required duration - "
|
|
"Expected: 10000s Actual: 9883s",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.5/32", "192.0.254.3/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.4/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.5/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.4/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-advertised-route-validation-only",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.5/32", "192.0.254.3/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.5/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-routes",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32"],
|
|
"received_routes": ["192.0.255.3/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.31/32"],
|
|
"received_routes": ["192.0.255.31/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.11 VRF: default Advertised route: 192.0.254.3/32 - Not found",
|
|
"Peer: 172.30.11.11 VRF: default Received route: 192.0.255.3/32 - Not found",
|
|
"Peer: 172.30.11.12 VRF: default Advertised route: 192.0.254.31/32 - Not found",
|
|
"Peer: 172.30.11.12 VRF: default Received route: 192.0.255.31/32 - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-invalid-or-inactive-routes",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.51/32"],
|
|
"received_routes": ["192.0.254.31/32", "192.0.255.4/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.31/32", "192.0.254.5/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.41/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default Advertised route: 192.0.254.3/32 - Valid: False Active: True",
|
|
"Peer: 172.30.11.1 VRF: default Advertised route: 192.0.254.51/32 - Not found",
|
|
"Peer: 172.30.11.1 VRF: default Received route: 192.0.254.31/32 - Not found",
|
|
"Peer: 172.30.11.1 VRF: default Received route: 192.0.255.4/32 - Valid: False Active: False",
|
|
"Peer: 172.30.11.5 VRF: default Advertised route: 192.0.254.31/32 - Not found",
|
|
"Peer: 172.30.11.5 VRF: default Advertised route: 192.0.254.5/32 - Valid: False Active: True",
|
|
"Peer: 172.30.11.5 VRF: default Received route: 192.0.254.3/32 - Valid: True Active: False",
|
|
"Peer: 172.30.11.5 VRF: default Received route: 192.0.255.41/32 - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-invalid-or-inactive-routes-as-per-given-input",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.51/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.41/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default Advertised route: 192.0.254.3/32 - Valid: False Active: True",
|
|
"Peer: 172.30.11.1 VRF: default Advertised route: 192.0.254.51/32 - Not found",
|
|
"Peer: 172.30.11.5 VRF: default Received route: 192.0.254.3/32 - Valid: True Active: False",
|
|
"Peer: 172.30.11.5 VRF: default Received route: 192.0.255.41/32 - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsLabels": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4Unicast", "ipv4 Mpls labels"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4_Unicast", "ipv4 MplsVpn"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
"capabilities": ["ipv4Unicast", "l2-vpn-EVPN"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4Unicast", "l2vpnevpn"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.10 VRF: default - Not found",
|
|
"Peer: 172.30.11.1 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-capabilities",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"capabilities": ["ipv4 Unicast", "L2VpnEVPN"],
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Peer: 172.30.11.1 VRF: default - l2VpnEvpn not found"],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-capabilities",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": True,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"l2VpnEvpn": {
|
|
"advertised": True,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"capabilities": ["ipv4 unicast", "ipv4 mpls vpn", "L2 vpn EVPN"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4_unicast", "ipv4 mplsvpn", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["Ipv4 Unicast", "ipv4 MPLSVPN", "L2 vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - ipv4Unicast not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
"Peer: 172.30.11.1 VRF: default - ipv4MplsVpn not negotiated - Advertised: False, Received: True, Enabled: False",
|
|
"Peer: 172.30.11.1 VRF: default - l2VpnEvpn not found",
|
|
"Peer: 172.30.11.10 VRF: MGMT - ipv4Unicast not found",
|
|
"Peer: 172.30.11.10 VRF: MGMT - ipv4MplsVpn not negotiated - Advertised: False, Received: False, Enabled: True",
|
|
"Peer: 172.30.11.10 VRF: MGMT - l2VpnEvpn not negotiated - Advertised: True, Received: False, Enabled: False",
|
|
"Peer: 172.30.11.11 VRF: MGMT - ipv4Unicast not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
"Peer: 172.30.11.11 VRF: MGMT - ipv4MplsVpn not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
"Peer: 172.30.11.11 VRF: MGMT - l2VpnEvpn not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-strict",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsLabels": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"strict": True,
|
|
"capabilities": ["Ipv4 Unicast", "ipv4MplsLabels"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
"strict": True,
|
|
"capabilities": ["ipv4-Unicast", "ipv4MplsVpn"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-srict",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsLabels": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"strict": True,
|
|
"capabilities": ["Ipv4 Unicast"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
"strict": True,
|
|
"capabilities": ["ipv4MplsVpn", "L2vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Mismatch - Expected: ipv4Unicast Actual: ipv4Unicast, ipv4MplsLabels",
|
|
"Peer: 172.30.11.10 VRF: MGMT - Mismatch - Expected: ipv4MplsVpn, l2VpnEvpn Actual: ipv4Unicast, ipv4MplsVpn",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
},
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Peer: 172.30.11.10 VRF: default - Not found"],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-capabilities",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4MplsLabels": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.10", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - 4-octet ASN capability not found",
|
|
"Peer: 172.30.11.10 VRF: MGMT - 4-octet ASN capability not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-capabilities",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": False,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.10", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - 4-octet ASN capability not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
"Peer: 172.30.11.10 VRF: MGMT - 4-octet ASN capability not negotiated - Advertised: True, Received: False, Enabled: True",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ip4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.12",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ip4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.12 VRF: default - Not found",
|
|
"Peer: 172.30.11.1 VRF: CS - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-capabilities",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.11", "vrf": "CS"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Route refresh capability not found",
|
|
"Peer: 172.30.11.11 VRF: CS - Route refresh capability not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-capabilities",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.11", "vrf": "CS"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Route refresh capability not negotiated - Advertised: False, Received: False, Enabled: False",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.10 VRF: default - Not found",
|
|
"Peer: 172.30.11.12 VRF: CS - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-established-peer",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Idle",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Idle",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Incorrect session state - Expected: Established Actual: Idle",
|
|
"Peer: 172.30.11.10 VRF: MGMT - Incorrect session state - Expected: Established Actual: Idle",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-md5-peer",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Established",
|
|
},
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Established",
|
|
"md5AuthEnabled": False,
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"state": "Established",
|
|
"md5AuthEnabled": False,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Session does not have MD5 authentication enabled",
|
|
"Peer: 172.30.11.11 VRF: MGMT - Session does not have MD5 authentication enabled",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
}
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-endpoints",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"vxlan_endpoints": [
|
|
{"address": "192.168.20.102", "vni": 10020},
|
|
{"address": "aac1.ab5d.b41e", "vni": 10010},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-ip",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-mac",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "aac1.ab4e.bec2", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-multiple-paths-ip",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": True,
|
|
},
|
|
},
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-multiple-paths-mac",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": True,
|
|
},
|
|
},
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "aac1.ab4e.bec2", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-routes",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [{"vrf": "default", "routerId": "10.1.0.3", "asn": 65120, "evpnRoutes": {}}],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Address: 192.168.20.102 VNI: 10020 - No EVPN Type-2 route"],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-path-not-active",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Address: 192.168.20.102 VNI: 10020 - No valid and active path"],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-endpoints",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"vxlan_endpoints": [
|
|
{"address": "192.168.20.102", "vni": 10020},
|
|
{"address": "aac1.ab5d.b41e", "vni": 10010},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Address: 192.168.20.102 VNI: 10020 - No valid and active path", "Address: aa:c1:ab:5d:b4:1e VNI: 10010 - No valid and active path"],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.10 VRF: default - Not found",
|
|
"Peer: 172.30.11.12 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-correct-communities",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": False,
|
|
"extended": False,
|
|
"large": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Standard: False, Extended: False, Large: False",
|
|
"Peer: 172.30.11.10 VRF: CS - Standard: True, Extended: True, Large: False",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPTimers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"holdTime": 180,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"holdTime": 180,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPTimers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {"peerList": []},
|
|
"MGMT": {"peerList": []},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "default",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: MGMT - Not found",
|
|
"Peer: 172.30.11.11 VRF: default - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-correct-timers",
|
|
"test": VerifyBGPTimers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"holdTime": 160,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"holdTime": 120,
|
|
"keepaliveTime": 40,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 172.30.11.1 VRF: default - Hold time mismatch - Expected: 180 Actual: 160",
|
|
"Peer: 172.30.11.11 VRF: MGMT - Hold time mismatch - Expected: 180 Actual: 120",
|
|
"Peer: 172.30.11.11 VRF: MGMT - Keepalive time mismatch - Expected: 60 Actual: 40",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerDropStats,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"dropStats": {
|
|
"inDropAsloop": 0,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 0,
|
|
"inDropNhLocal": 0,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 0,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 0,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"dropStats": {
|
|
"inDropAsloop": 0,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 0,
|
|
"inDropNhLocal": 0,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 0,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 0,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"drop_stats": ["prefixDroppedMartianV4", "prefixDroppedMaxRouteLimitViolatedV4", "prefixDroppedMartianV6"],
|
|
},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "drop_stats": ["inDropClusterIdLoop", "inDropOrigId", "inDropNhLocal"]},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-not-found",
|
|
"test": VerifyBGPPeerDropStats,
|
|
"eos_data": [{"vrfs": {}}],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"drop_stats": ["prefixDroppedMartianV4", "prefixDroppedMaxRouteLimitViolatedV4", "prefixDroppedMartianV6"],
|
|
},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "drop_stats": ["inDropClusterIdLoop", "inDropOrigId", "inDropNhLocal"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Not found",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure",
|
|
"test": VerifyBGPPeerDropStats,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"dropStats": {
|
|
"inDropAsloop": 0,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 1,
|
|
"inDropNhLocal": 1,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 1,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 1,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"dropStats": {
|
|
"inDropAsloop": 0,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 1,
|
|
"inDropNhLocal": 1,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 0,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 0,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"drop_stats": ["prefixDroppedMartianV4", "prefixDroppedMaxRouteLimitViolatedV4", "prefixDroppedMartianV6"],
|
|
},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "drop_stats": ["inDropClusterIdLoop", "inDropOrigId", "inDropNhLocal"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - prefixDroppedMartianV4: 1",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - prefixDroppedMaxRouteLimitViolatedV4: 1",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero NLRI drop statistics counter - inDropOrigId: 1",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero NLRI drop statistics counter - inDropNhLocal: 1",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-all-drop-stats",
|
|
"test": VerifyBGPPeerDropStats,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"dropStats": {
|
|
"inDropAsloop": 0,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 0,
|
|
"inDropNhLocal": 0,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 0,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 0,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"dropStats": {
|
|
"inDropAsloop": 0,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 0,
|
|
"inDropNhLocal": 0,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 0,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 0,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-all-drop-stats",
|
|
"test": VerifyBGPPeerDropStats,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"dropStats": {
|
|
"inDropAsloop": 3,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 1,
|
|
"inDropNhLocal": 1,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 1,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 1,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"dropStats": {
|
|
"inDropAsloop": 2,
|
|
"inDropClusterIdLoop": 0,
|
|
"inDropMalformedMpbgp": 0,
|
|
"inDropOrigId": 1,
|
|
"inDropNhLocal": 1,
|
|
"inDropNhAfV6": 0,
|
|
"prefixDroppedMartianV4": 0,
|
|
"prefixDroppedMaxRouteLimitViolatedV4": 0,
|
|
"prefixDroppedMartianV6": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - inDropAsloop: 3",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - inDropOrigId: 1",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - inDropNhLocal: 1",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - prefixDroppedMartianV4: 1",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero NLRI drop statistics counter - prefixDroppedMaxRouteLimitViolatedV4: 1",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero NLRI drop statistics counter - inDropAsloop: 2",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero NLRI drop statistics counter - inDropOrigId: 1",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero NLRI drop statistics counter - inDropNhLocal: 1",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerUpdateErrors,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 0,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 0,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-not-found",
|
|
"test": VerifyBGPPeerUpdateErrors,
|
|
"eos_data": [
|
|
{"vrfs": {}},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Not found",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-errors",
|
|
"test": VerifyBGPPeerUpdateErrors,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 0,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "ipv4Unicast",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 1,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero update error counter - disabledAfiSafi: ipv4Unicast",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero update error counter - inUpdErrWithdraw: 1",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-all-error-counters",
|
|
"test": VerifyBGPPeerUpdateErrors,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 0,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 0,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-all-error-counters",
|
|
"test": VerifyBGPPeerUpdateErrors,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 1,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "ipv4Unicast",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 1,
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 1,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
{
|
|
"peer_address": "10.100.0.9",
|
|
"vrf": "MGMT",
|
|
"update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi", "inUpdErrDisableAfiSafi"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero update error counter - inUpdErrWithdraw: 1",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero update error counter - disabledAfiSafi: ipv4Unicast",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero update error counter - inUpdErrWithdraw: 1",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero update error counter - inUpdErrDisableAfiSafi: 1",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-all-not-found",
|
|
"test": VerifyBGPPeerUpdateErrors,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrIgnore": 0,
|
|
"inUpdErrDisableAfiSafi": 0,
|
|
"disabledAfiSafi": "ipv4Unicast",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"peerInUpdateErrors": {
|
|
"inUpdErrWithdraw": 1,
|
|
"inUpdErrIgnore": 0,
|
|
"disabledAfiSafi": "None",
|
|
"lastUpdErrTime": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi"]},
|
|
{
|
|
"peer_address": "10.100.0.9",
|
|
"vrf": "MGMT",
|
|
"update_errors": ["inUpdErrWithdraw", "inUpdErrIgnore", "disabledAfiSafi", "inUpdErrDisableAfiSafi"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero update error counter - inUpdErrWithdraw: Not Found",
|
|
"Peer: 10.100.0.8 VRF: default - Non-zero update error counter - disabledAfiSafi: ipv4Unicast",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero update error counter - inUpdErrWithdraw: 1",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Non-zero update error counter - inUpdErrDisableAfiSafi: Not Found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBgpRouteMaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"routeMapInbound": "RM-MLAG-PEER-IN",
|
|
"routeMapOutbound": "RM-MLAG-PEER-OUT",
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
"routeMapInbound": "RM-MLAG-PEER-IN",
|
|
"routeMapOutbound": "RM-MLAG-PEER-OUT",
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "inbound_route_map": "RM-MLAG-PEER-IN", "outbound_route_map": "RM-MLAG-PEER-OUT"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "inbound_route_map": "RM-MLAG-PEER-IN", "outbound_route_map": "RM-MLAG-PEER-OUT"},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-route-map",
|
|
"test": VerifyBgpRouteMaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"routeMapInbound": "RM-MLAG-PEER",
|
|
"routeMapOutbound": "RM-MLAG-PEER",
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
"routeMapInbound": "RM-MLAG-PEER",
|
|
"routeMapOutbound": "RM-MLAG-PEER",
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "inbound_route_map": "RM-MLAG-PEER-IN", "outbound_route_map": "RM-MLAG-PEER-OUT"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "inbound_route_map": "RM-MLAG-PEER-IN", "outbound_route_map": "RM-MLAG-PEER-OUT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Inbound route-map mismatch - Expected: RM-MLAG-PEER-IN Actual: RM-MLAG-PEER",
|
|
"Peer: 10.100.0.8 VRF: default - Outbound route-map mismatch - Expected: RM-MLAG-PEER-OUT Actual: RM-MLAG-PEER",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Inbound route-map mismatch - Expected: RM-MLAG-PEER-IN Actual: RM-MLAG-PEER",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Outbound route-map mismatch - Expected: RM-MLAG-PEER-OUT Actual: RM-MLAG-PEER",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-inbound-map",
|
|
"test": VerifyBgpRouteMaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"routeMapInbound": "RM-MLAG-PEER",
|
|
"routeMapOutbound": "RM-MLAG-PEER",
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
"routeMapInbound": "RM-MLAG-PEER",
|
|
"routeMapOutbound": "RM-MLAG-PEER",
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "inbound_route_map": "RM-MLAG-PEER-IN"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "inbound_route_map": "RM-MLAG-PEER-IN"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Inbound route-map mismatch - Expected: RM-MLAG-PEER-IN Actual: RM-MLAG-PEER",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Inbound route-map mismatch - Expected: RM-MLAG-PEER-IN Actual: RM-MLAG-PEER",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-route-maps-not-configured",
|
|
"test": VerifyBgpRouteMaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "inbound_route_map": "RM-MLAG-PEER-IN", "outbound_route_map": "RM-MLAG-PEER-OUT"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "inbound_route_map": "RM-MLAG-PEER-IN", "outbound_route_map": "RM-MLAG-PEER-OUT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Inbound route-map mismatch - Expected: RM-MLAG-PEER-IN Actual: Not Configured",
|
|
"Peer: 10.100.0.8 VRF: default - Outbound route-map mismatch - Expected: RM-MLAG-PEER-OUT Actual: Not Configured",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Inbound route-map mismatch - Expected: RM-MLAG-PEER-IN Actual: Not Configured",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Outbound route-map mismatch - Expected: RM-MLAG-PEER-OUT Actual: Not Configured",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-found",
|
|
"test": VerifyBgpRouteMaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {"peerList": []},
|
|
"MGMT": {"peerList": []},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "inbound_route_map": "RM-MLAG-PEER-IN"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "inbound_route_map": "RM-MLAG-PEER-IN"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Not found",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerRouteLimit,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"maxTotalRoutes": 12000,
|
|
"totalRoutesWarnLimit": 10000,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"maxTotalRoutes": 10000,
|
|
"totalRoutesWarnLimit": 9000,
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "maximum_routes": 12000, "warning_limit": 10000},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "maximum_routes": 10000},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-no-warning-limit",
|
|
"test": VerifyBGPPeerRouteLimit,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"maxTotalRoutes": 12000,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"maxTotalRoutes": 10000,
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "maximum_routes": 12000, "warning_limit": 0},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "maximum_routes": 10000},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-found",
|
|
"test": VerifyBGPPeerRouteLimit,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {},
|
|
"MGMT": {},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "maximum_routes": 12000, "warning_limit": 10000},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "maximum_routes": 10000, "warning_limit": 9000},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Not found",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-max-routes",
|
|
"test": VerifyBGPPeerRouteLimit,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"maxTotalRoutes": 13000,
|
|
"totalRoutesWarnLimit": 11000,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"maxTotalRoutes": 11000,
|
|
"totalRoutesWarnLimit": 10000,
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "maximum_routes": 12000, "warning_limit": 10000},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "maximum_routes": 10000, "warning_limit": 9000},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Maximum routes mismatch - Expected: 12000 Actual: 13000",
|
|
"Peer: 10.100.0.8 VRF: default - Maximum routes warning limit mismatch - Expected: 10000 Actual: 11000",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Maximum routes mismatch - Expected: 10000 Actual: 11000",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Maximum routes warning limit mismatch - Expected: 9000 Actual: 10000",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-routes-not-found",
|
|
"test": VerifyBGPPeerRouteLimit,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"maxTotalRoutes": 12000,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"maxTotalRoutes": 10000,
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "maximum_routes": 12000, "warning_limit": 10000},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT", "maximum_routes": 10000, "warning_limit": 9000},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Maximum routes warning limit mismatch - Expected: 10000 Actual: 0",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Maximum routes warning limit mismatch - Expected: 9000 Actual: 0",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-no-check-tcp-queues",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"check_tcp_queues": False,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-check-tcp-queues",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"check_tcp_queues": True,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-min-established-time",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"check_tcp_queues": True,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-found",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.9 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-established",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Active",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Active",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Incorrect session state - Expected: Established Actual: Active",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Incorrect session state - Expected: Established Actual: Active",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-check-tcp-queues",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Session has non-empty message queues - InQ: 5 OutQ: 10",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-min-established-time",
|
|
"test": VerifyBGPPeerSession,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"check_tcp_queues": True,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - BGP session not established for the minimum required duration - Expected: 10000s Actual: 9883s",
|
|
"Peer: 10.100.0.9 VRF: MGMT - BGP session not established for the minimum required duration - Expected: 10000s Actual: 9883s",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerGroup,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerGroupName": "IPv4-UNDERLAY-PEERS",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.4.5",
|
|
"peerGroupName": "MLAG-IPv4-UNDERLAY-PEER",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.1.1",
|
|
"peerGroupName": "EVPN-OVERLAY-PEERS",
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
"peerGroupName": "IPv4-UNDERLAY-PEERS",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.1.2",
|
|
"peerGroupName": "EVPN-OVERLAY-PEERS",
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.1", "vrf": "default", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.2", "vrf": "MGMT", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.4.5", "vrf": "default", "peer_group": "MLAG-IPv4-UNDERLAY-PEER"},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-peer-group",
|
|
"test": VerifyBGPPeerGroup,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"peerGroupName": "UNDERLAY-PEERS",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.1.1",
|
|
"peerGroupName": "OVERLAY-PEERS",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.4.5",
|
|
"peerGroupName": "UNDERLAY-PEER",
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
"peerGroupName": "UNDERLAY-PEERS",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.1.2",
|
|
"peerGroupName": "OVERLAY-PEERS",
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.1", "vrf": "default", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.2", "vrf": "MGMT", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.4.5", "vrf": "default", "peer_group": "MLAG-IPv4-UNDERLAY-PEER"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Incorrect peer group configured - Expected: IPv4-UNDERLAY-PEERS Actual: UNDERLAY-PEERS",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Incorrect peer group configured - Expected: IPv4-UNDERLAY-PEERS Actual: UNDERLAY-PEERS",
|
|
"Peer: 10.100.1.1 VRF: default - Incorrect peer group configured - Expected: EVPN-OVERLAY-PEERS Actual: OVERLAY-PEERS",
|
|
"Peer: 10.100.1.2 VRF: MGMT - Incorrect peer group configured - Expected: EVPN-OVERLAY-PEERS Actual: OVERLAY-PEERS",
|
|
"Peer: 10.100.4.5 VRF: default - Incorrect peer group configured - Expected: MLAG-IPv4-UNDERLAY-PEER Actual: UNDERLAY-PEER",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-peers-not-found",
|
|
"test": VerifyBGPPeerGroup,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {"peerList": []},
|
|
"MGMT": {"peerList": []},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.1", "vrf": "default", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.2", "vrf": "MGMT", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.4.5", "vrf": "default", "peer_group": "MLAG-IPv4-UNDERLAY-PEER"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Not found",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Not found",
|
|
"Peer: 10.100.1.1 VRF: default - Not found",
|
|
"Peer: 10.100.1.2 VRF: MGMT - Not found",
|
|
"Peer: 10.100.4.5 VRF: default - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-peer-group-not-found",
|
|
"test": VerifyBGPPeerGroup,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.1.1",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.4.5",
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.10",
|
|
},
|
|
{
|
|
"peerAddress": "10.100.1.2",
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.0.10", "vrf": "MGMT", "peer_group": "IPv4-UNDERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.1", "vrf": "default", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.1.2", "vrf": "MGMT", "peer_group": "EVPN-OVERLAY-PEERS"},
|
|
{"peer_address": "10.100.4.5", "vrf": "default", "peer_group": "MLAG-IPv4-UNDERLAY-PEER"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Incorrect peer group configured - Expected: IPv4-UNDERLAY-PEERS Actual: Not Found",
|
|
"Peer: 10.100.0.10 VRF: MGMT - Incorrect peer group configured - Expected: IPv4-UNDERLAY-PEERS Actual: Not Found",
|
|
"Peer: 10.100.1.1 VRF: default - Incorrect peer group configured - Expected: EVPN-OVERLAY-PEERS Actual: Not Found",
|
|
"Peer: 10.100.1.2 VRF: MGMT - Incorrect peer group configured - Expected: EVPN-OVERLAY-PEERS Actual: Not Found",
|
|
"Peer: 10.100.4.5 VRF: default - Incorrect peer group configured - Expected: MLAG-IPv4-UNDERLAY-PEER Actual: Not Found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-no-check-tcp-queues",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"check_tcp_queues": False,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-check-tcp-queues",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"establishedTime": 169883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"check_tcp_queues": True,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-min-established-time",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"check_tcp_queues": True,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-found",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.9 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-established",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Active",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Active",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Incorrect session state - Expected: Established Actual: Active",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Incorrect session state - Expected: Established Actual: Active",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-check-tcp-queues",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Session has non-empty message queues - InQ: 5 OutQ: 10",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-min-established-time",
|
|
"test": VerifyBGPPeerSessionRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"establishedTime": 9883,
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"minimum_established_time": 10000,
|
|
"bgp_peers": [
|
|
{"peer_address": "10.100.0.8", "vrf": "default"},
|
|
{"peer_address": "10.100.0.9", "vrf": "MGMT"},
|
|
],
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - BGP session not established for the minimum required duration - Expected: 10000s Actual: 9883s",
|
|
"Peer: 10.100.0.9 VRF: MGMT - BGP session not established for the minimum required duration - Expected: 10000s Actual: 9883s",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-no-check-tcp-queues",
|
|
"test": VerifyBGPPeersHealthRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"check_tcp_queues": False,
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-check-tcp-queues",
|
|
"test": VerifyBGPPeersHealthRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"check_tcp_queues": True,
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-not-established",
|
|
"test": VerifyBGPPeersHealthRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Active",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Active",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Incorrect session state - Expected: Established Actual: Active",
|
|
"Peer: 10.100.0.9 VRF: MGMT - Incorrect session state - Expected: Established Actual: Active",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-check-tcp-queues",
|
|
"test": VerifyBGPPeersHealthRibd,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.8",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 10,
|
|
"inputQueueLength": 5,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.100.0.9",
|
|
"state": "Established",
|
|
"peerTcpInfo": {
|
|
"outputQueueLength": 0,
|
|
"inputQueueLength": 0,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Session has non-empty message queues - InQ: 5 OutQ: 10",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPNlriAcceptance,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.0.8": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 56, "nlrisAccepted": 56},
|
|
},
|
|
},
|
|
},
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.4.5": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65102",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 14, "nlrisAccepted": 14},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 56, "nlrisAccepted": 56},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "10.100.4.5",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-vrf-not-configured",
|
|
"test": VerifyBGPNlriAcceptance,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {},
|
|
},
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {},
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "10.100.4.5",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - Not found",
|
|
"Peer: 10.100.4.5 VRF: MGMT - Not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-capability-not-found",
|
|
"test": VerifyBGPNlriAcceptance,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.0.8": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
},
|
|
},
|
|
},
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.4.5": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65102",
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 56, "nlrisAccepted": 56},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "10.100.4.5",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - l2VpnEvpn not found",
|
|
"Peer: 10.100.4.5 VRF: MGMT - ipv4Unicast not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-capability-not-negotiated",
|
|
"test": VerifyBGPNlriAcceptance,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.0.8": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "configured", "nlrisReceived": 17, "nlrisAccepted": 17},
|
|
},
|
|
},
|
|
},
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.4.5": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65102",
|
|
"l2VpnEvpn": {"afiSafiState": "configured", "nlrisReceived": 56, "nlrisAccepted": 56},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "10.100.4.5",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default - ipv4Unicast not negotiated",
|
|
"Peer: 10.100.0.8 VRF: default - l2VpnEvpn not found",
|
|
"Peer: 10.100.4.5 VRF: MGMT - ipv4Unicast not found",
|
|
"Peer: 10.100.4.5 VRF: MGMT - l2VpnEvpn not negotiated",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-nlris-not-accepted",
|
|
"test": VerifyBGPNlriAcceptance,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.0.8": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65100",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 17, "nlrisAccepted": 16},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 58, "nlrisAccepted": 56},
|
|
},
|
|
},
|
|
},
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.100.1.5",
|
|
"asn": "65102",
|
|
"peers": {
|
|
"10.100.4.5": {
|
|
"peerState": "Established",
|
|
"peerAsn": "65102",
|
|
"ipv4Unicast": {"afiSafiState": "negotiated", "nlrisReceived": 15, "nlrisAccepted": 14},
|
|
"l2VpnEvpn": {"afiSafiState": "negotiated", "nlrisReceived": 59, "nlrisAccepted": 56},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.100.0.8",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "10.100.4.5",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "L2vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.100.0.8 VRF: default AFI/SAFI: ipv4Unicast - Some NLRI were filtered or rejected - Accepted: 16 Received: 17",
|
|
"Peer: 10.100.0.8 VRF: default AFI/SAFI: l2VpnEvpn - Some NLRI were filtered or rejected - Accepted: 56 Received: 58",
|
|
"Peer: 10.100.4.5 VRF: MGMT AFI/SAFI: ipv4Unicast - Some NLRI were filtered or rejected - Accepted: 14 Received: 15",
|
|
"Peer: 10.100.4.5 VRF: MGMT AFI/SAFI: l2VpnEvpn - Some NLRI were filtered or rejected - Accepted: 56 Received: 59",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPRoutePaths,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"10.100.0.128/31": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.100.0.10",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.100.4.5",
|
|
"routeType": {
|
|
"origin": "Incomplete",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}
|
|
},
|
|
"MGMT": {
|
|
"bgpRouteEntries": {
|
|
"10.100.0.130/31": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.100.0.8",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.100.0.10",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"route_entries": [
|
|
{
|
|
"prefix": "10.100.0.128/31",
|
|
"vrf": "default",
|
|
"paths": [{"nexthop": "10.100.0.10", "origin": "Igp"}, {"nexthop": "10.100.4.5", "origin": "Incomplete"}],
|
|
},
|
|
{
|
|
"prefix": "10.100.0.130/31",
|
|
"vrf": "MGMT",
|
|
"paths": [{"nexthop": "10.100.0.8", "origin": "Igp"}, {"nexthop": "10.100.0.10", "origin": "Igp"}],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-origin-not-correct",
|
|
"test": VerifyBGPRoutePaths,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"10.100.0.128/31": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.100.0.10",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.100.4.5",
|
|
"routeType": {
|
|
"origin": "Incomplete",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}
|
|
},
|
|
"MGMT": {
|
|
"bgpRouteEntries": {
|
|
"10.100.0.130/31": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.100.0.8",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.100.0.10",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"route_entries": [
|
|
{
|
|
"prefix": "10.100.0.128/31",
|
|
"vrf": "default",
|
|
"paths": [{"nexthop": "10.100.0.10", "origin": "Incomplete"}, {"nexthop": "10.100.4.5", "origin": "Igp"}],
|
|
},
|
|
{
|
|
"prefix": "10.100.0.130/31",
|
|
"vrf": "MGMT",
|
|
"paths": [{"nexthop": "10.100.0.8", "origin": "Incomplete"}, {"nexthop": "10.100.0.10", "origin": "Incomplete"}],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Prefix: 10.100.0.128/31 VRF: default Next-hop: 10.100.0.10 Origin: Incomplete - Origin mismatch - Actual: Igp",
|
|
"Prefix: 10.100.0.128/31 VRF: default Next-hop: 10.100.4.5 Origin: Igp - Origin mismatch - Actual: Incomplete",
|
|
"Prefix: 10.100.0.130/31 VRF: MGMT Next-hop: 10.100.0.8 Origin: Incomplete - Origin mismatch - Actual: Igp",
|
|
"Prefix: 10.100.0.130/31 VRF: MGMT Next-hop: 10.100.0.10 Origin: Incomplete - Origin mismatch - Actual: Igp",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-path-not-found",
|
|
"test": VerifyBGPRoutePaths,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"10.100.0.128/31": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.100.0.15",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}
|
|
},
|
|
"MGMT": {
|
|
"bgpRouteEntries": {
|
|
"10.100.0.130/31": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.100.0.15",
|
|
"routeType": {
|
|
"origin": "Igp",
|
|
},
|
|
},
|
|
],
|
|
}
|
|
}
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"route_entries": [
|
|
{
|
|
"prefix": "10.100.0.128/31",
|
|
"vrf": "default",
|
|
"paths": [{"nexthop": "10.100.0.10", "origin": "Incomplete"}, {"nexthop": "10.100.4.5", "origin": "Igp"}],
|
|
},
|
|
{
|
|
"prefix": "10.100.0.130/31",
|
|
"vrf": "MGMT",
|
|
"paths": [{"nexthop": "10.100.0.8", "origin": "Incomplete"}, {"nexthop": "10.100.0.10", "origin": "Incomplete"}],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Prefix: 10.100.0.128/31 VRF: default Next-hop: 10.100.0.10 Origin: Incomplete - Path not found",
|
|
"Prefix: 10.100.0.128/31 VRF: default Next-hop: 10.100.4.5 Origin: Igp - Path not found",
|
|
"Prefix: 10.100.0.130/31 VRF: MGMT Next-hop: 10.100.0.8 Origin: Incomplete - Path not found",
|
|
"Prefix: 10.100.0.130/31 VRF: MGMT Next-hop: 10.100.0.10 Origin: Incomplete - Path not found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-prefix-not-found",
|
|
"test": VerifyBGPRoutePaths,
|
|
"eos_data": [
|
|
{"vrfs": {"default": {"bgpRouteEntries": {}}, "MGMT": {"bgpRouteEntries": {}}}},
|
|
],
|
|
"inputs": {
|
|
"route_entries": [
|
|
{
|
|
"prefix": "10.100.0.128/31",
|
|
"vrf": "default",
|
|
"paths": [{"nexthop": "10.100.0.10", "origin": "Incomplete"}, {"nexthop": "10.100.4.5", "origin": "Igp"}],
|
|
},
|
|
{
|
|
"prefix": "10.100.0.130/31",
|
|
"vrf": "MGMT",
|
|
"paths": [{"nexthop": "10.100.0.8", "origin": "Incomplete"}, {"nexthop": "10.100.0.10", "origin": "Incomplete"}],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Prefix: 10.100.0.128/31 VRF: default - Prefix not found", "Prefix: 10.100.0.130/31 VRF: MGMT - Prefix not found"],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPRouteECMP,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.111.254.1",
|
|
"asn": "65101",
|
|
"bgpRouteEntries": {
|
|
"10.111.134.0/24": {
|
|
"address": "10.111.134.0",
|
|
"maskLength": 24,
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.111.2.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.111.1.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
],
|
|
"totalPaths": 2,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"routes": {
|
|
"10.111.112.0/24": {"routeType": "eBGP", "vias": [{"interface": "Vlan112"}]},
|
|
"10.111.134.0/24": {
|
|
"routeType": "eBGP",
|
|
"vias": [
|
|
{"nexthopAddr": "10.111.1.0", "interface": "Ethernet2"},
|
|
{"nexthopAddr": "10.111.2.0", "interface": "Ethernet3"},
|
|
],
|
|
"directlyConnected": False,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {"route_entries": [{"prefix": "10.111.134.0/24", "vrf": "default", "ecmp_count": 2}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-prefix-not-found-bgp-table",
|
|
"test": VerifyBGPRouteECMP,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.111.254.1",
|
|
"asn": "65101",
|
|
"bgpRouteEntries": {
|
|
"10.111.134.0/24": {
|
|
"address": "10.111.134.0",
|
|
"maskLength": 24,
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.111.1.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.111.2.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.255.255.2",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": False,
|
|
"ecmpContributor": False,
|
|
},
|
|
},
|
|
],
|
|
"totalPaths": 3,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"routes": {
|
|
"10.111.112.0/24": {"routeType": "eBGP", "vias": [{"interface": "Vlan112"}]},
|
|
"10.111.134.0/24": {
|
|
"routeType": "eBGP",
|
|
"vias": [{"nexthopAddr": "10.111.1.0", "interface": "Ethernet2"}, {"nexthopAddr": "10.111.2.0", "interface": "Ethernet3"}],
|
|
"directlyConnected": False,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {"route_entries": [{"prefix": "10.111.124.0/24", "vrf": "default", "ecmp_count": 2}]},
|
|
"expected": {"result": "failure", "messages": ["Prefix: 10.111.124.0/24 VRF: default - Prefix not found in BGP table"]},
|
|
},
|
|
{
|
|
"name": "failure-valid-active-ecmp-head-not-found",
|
|
"test": VerifyBGPRouteECMP,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.111.254.1",
|
|
"asn": "65101",
|
|
"bgpRouteEntries": {
|
|
"10.111.134.0/24": {
|
|
"address": "10.111.134.0",
|
|
"maskLength": 24,
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.111.1.0",
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
"ecmpHead": False,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.111.2.0",
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.255.255.2",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": False,
|
|
"ecmpContributor": False,
|
|
},
|
|
},
|
|
],
|
|
"totalPaths": 3,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"routes": {
|
|
"10.111.112.0/24": {"routeType": "eBGP", "vias": [{"interface": "Vlan112"}]},
|
|
"10.111.134.0/24": {
|
|
"routeType": "eBGP",
|
|
"vias": [{"nexthopAddr": "10.111.1.0", "interface": "Ethernet2"}, {"nexthopAddr": "10.111.2.0", "interface": "Ethernet3"}],
|
|
"directlyConnected": False,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {"route_entries": [{"prefix": "10.111.134.0/24", "vrf": "default", "ecmp_count": 2}]},
|
|
"expected": {"result": "failure", "messages": ["Prefix: 10.111.134.0/24 VRF: default - Valid and active ECMP head not found"]},
|
|
},
|
|
{
|
|
"name": "failure-ecmp-count-mismatch",
|
|
"test": VerifyBGPRouteECMP,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.111.254.1",
|
|
"asn": "65101",
|
|
"bgpRouteEntries": {
|
|
"10.111.134.0/24": {
|
|
"address": "10.111.134.0",
|
|
"maskLength": 24,
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.111.1.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.111.2.0",
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.255.255.2",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": False,
|
|
"ecmpContributor": False,
|
|
},
|
|
},
|
|
],
|
|
"totalPaths": 3,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"routes": {
|
|
"10.111.112.0/24": {"routeType": "eBGP", "vias": [{"interface": "Vlan112"}]},
|
|
"10.111.134.0/24": {
|
|
"routeType": "eBGP",
|
|
"vias": [{"nexthopAddr": "10.111.1.0", "interface": "Ethernet2"}, {"nexthopAddr": "10.111.2.0", "interface": "Ethernet3"}],
|
|
"directlyConnected": False,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {"route_entries": [{"prefix": "10.111.134.0/24", "vrf": "default", "ecmp_count": 2}]},
|
|
"expected": {"result": "failure", "messages": ["Prefix: 10.111.134.0/24 VRF: default - ECMP count mismatch - Expected: 2 Actual: 1"]},
|
|
},
|
|
{
|
|
"name": "failure-prefix-not-found-routing-table",
|
|
"test": VerifyBGPRouteECMP,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.111.254.1",
|
|
"asn": "65101",
|
|
"bgpRouteEntries": {
|
|
"10.111.134.0/24": {
|
|
"address": "10.111.134.0",
|
|
"maskLength": 24,
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.111.1.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.111.2.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.255.255.2",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": False,
|
|
"ecmpContributor": False,
|
|
},
|
|
},
|
|
],
|
|
"totalPaths": 3,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"routes": {
|
|
"10.111.112.0/24": {"routeType": "eBGP", "vias": [{"interface": "Vlan112"}]},
|
|
"10.111.114.0/24": {
|
|
"routeType": "eBGP",
|
|
"vias": [{"nexthopAddr": "10.111.1.0", "interface": "Ethernet2"}, {"nexthopAddr": "10.111.2.0", "interface": "Ethernet3"}],
|
|
"directlyConnected": False,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {"route_entries": [{"prefix": "10.111.134.0/24", "vrf": "default", "ecmp_count": 2}]},
|
|
"expected": {"result": "failure", "messages": ["Prefix: 10.111.134.0/24 VRF: default - Prefix not found in routing table"]},
|
|
},
|
|
{
|
|
"name": "failure-nexthops-mismatch",
|
|
"test": VerifyBGPRouteECMP,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.111.254.1",
|
|
"asn": "65101",
|
|
"bgpRouteEntries": {
|
|
"10.111.134.0/24": {
|
|
"address": "10.111.134.0",
|
|
"maskLength": 24,
|
|
"bgpRoutePaths": [
|
|
{
|
|
"nextHop": "10.111.1.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
"ecmpHead": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.111.2.0",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
},
|
|
},
|
|
{
|
|
"nextHop": "10.255.255.2",
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
"ecmpHead": False,
|
|
"ecmp": False,
|
|
"ecmpContributor": False,
|
|
},
|
|
},
|
|
],
|
|
"totalPaths": 3,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"routes": {
|
|
"10.111.112.0/24": {"routeType": "eBGP", "vias": [{"interface": "Vlan112"}]},
|
|
"10.111.134.0/24": {
|
|
"routeType": "eBGP",
|
|
"vias": [{"nexthopAddr": "10.111.1.0", "interface": "Ethernet2"}],
|
|
"directlyConnected": False,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {"route_entries": [{"prefix": "10.111.134.0/24", "vrf": "default", "ecmp_count": 2}]},
|
|
"expected": {"result": "failure", "messages": ["Prefix: 10.111.134.0/24 VRF: default - Nexthops count mismatch - BGP: 2 RIB: 1"]},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPRedistribution,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"afiSafiConfig": {
|
|
"v4u": {
|
|
"redistributedRoutes": [
|
|
{"proto": "Connected", "includeLeaked": True, "routeMap": "RM-CONN-2-BGP"},
|
|
{"proto": "Static", "includeLeaked": True, "routeMap": "RM-CONN-2-BGP"},
|
|
]
|
|
},
|
|
"v6m": {
|
|
"redistributedRoutes": [
|
|
{"proto": "OSPFv3 External", "routeMap": "RM-CONN-2-BGP"},
|
|
{"proto": "IS-IS", "includeLeaked": True, "routeMap": "RM-CONN-2-BGP"},
|
|
]
|
|
},
|
|
}
|
|
},
|
|
"test": {
|
|
"afiSafiConfig": {
|
|
"v4m": {
|
|
"redistributedRoutes": [
|
|
{"proto": "AttachedHost", "routeMap": "RM-CONN-2-BGP"},
|
|
{"proto": "OSPF Internal", "includeLeaked": True, "routeMap": "RM-CONN-2-BGP"},
|
|
]
|
|
},
|
|
"v6u": {
|
|
"redistributedRoutes": [
|
|
{"proto": "DHCP", "routeMap": "RM-CONN-2-BGP"},
|
|
{"proto": "Bgp", "includeLeaked": True, "routeMap": "RM-CONN-2-BGP"},
|
|
]
|
|
},
|
|
}
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"vrfs": [
|
|
{
|
|
"vrf": "default",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv4Unicast",
|
|
"redistributed_routes": [
|
|
{"proto": "Connected", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "Static", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
{
|
|
"afi_safi": "IPv6 multicast",
|
|
"redistributed_routes": [
|
|
{"proto": "OSPFv3 External", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "IS-IS", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
"vrf": "test",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv4 Multicast",
|
|
"redistributed_routes": [
|
|
{"proto": "AttachedHost", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "OSPF Internal", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
{
|
|
"afi_safi": "IPv6Unicast",
|
|
"redistributed_routes": [
|
|
{"proto": "DHCP", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "Bgp", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-vrf-not-found",
|
|
"test": VerifyBGPRedistribution,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {"afiSafiConfig": {"v6m": {"redistributedRoutes": [{"proto": "Connected", "routeMap": "RM-CONN-2-BGP"}]}}},
|
|
"tenant": {"afiSafiConfig": {"v4u": {"redistributedRoutes": [{"proto": "Connected"}]}}},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"vrfs": [
|
|
{
|
|
"vrf": "default",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv6 Multicast",
|
|
"redistributed_routes": [{"proto": "Connected", "include_leaked": False, "route_map": "RM-CONN-2-BGP"}],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
"vrf": "test",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv6 Multicast",
|
|
"redistributed_routes": [
|
|
{"proto": "Connected", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "failure", "messages": ["VRF: test - Not configured"]},
|
|
},
|
|
{
|
|
"name": "failure-afi-safi-config-not-found",
|
|
"test": VerifyBGPRedistribution,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {"afiSafiConfig": {"v6m": {}}},
|
|
"test": {"afiSafiConfig": {"v4u": {"redistributedRoutes": [{"proto": "Connected", "routeMap": "RM-CONN-2-BGP"}]}}},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"vrfs": [
|
|
{
|
|
"vrf": "default",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv6 Multicast",
|
|
"redistributed_routes": [
|
|
{"proto": "Connected", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "Static", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "failure", "messages": ["VRF: default, AFI-SAFI: IPv6 Multicast - Not redistributed"]},
|
|
},
|
|
{
|
|
"name": "failure-expected-proto-not-found",
|
|
"test": VerifyBGPRedistribution,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"afiSafiConfig": {
|
|
"v4m": {
|
|
"redistributedRoutes": [{"proto": "AttachedHost", "routeMap": "RM-CONN-2-BGP"}, {"proto": "IS-IS", "routeMap": "RM-MLAG-PEER-IN"}]
|
|
}
|
|
}
|
|
},
|
|
"test": {
|
|
"afiSafiConfig": {
|
|
"v6u": {
|
|
"redistributedRoutes": [{"proto": "Static", "routeMap": "RM-CONN-2-BGP"}],
|
|
}
|
|
}
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"vrfs": [
|
|
{
|
|
"vrf": "default",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv4 multicast",
|
|
"redistributed_routes": [
|
|
{"proto": "OSPFv3 External", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "OSPFv3 Nssa-External", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
}
|
|
],
|
|
},
|
|
{
|
|
"vrf": "test",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "IPv6Unicast",
|
|
"redistributed_routes": [
|
|
{"proto": "DHCP", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "Bgp", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"VRF: default, AFI-SAFI: IPv4 Multicast, Proto: OSPFv3 External - Not configured",
|
|
"VRF: default, AFI-SAFI: IPv4 Multicast, Proto: OSPFv3 Nssa-External - Not configured",
|
|
"VRF: test, AFI-SAFI: IPv6 Unicast, Proto: DHCP - Not configured",
|
|
"VRF: test, AFI-SAFI: IPv6 Unicast, Proto: Bgp - Not configured",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-route-map-not-found",
|
|
"test": VerifyBGPRedistribution,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {"afiSafiConfig": {"v4u": {"redistributedRoutes": [{"proto": "Connected", "routeMap": "RM-CONN-10-BGP"}, {"proto": "Static"}]}}},
|
|
"test": {
|
|
"afiSafiConfig": {
|
|
"v6u": {
|
|
"redistributedRoutes": [{"proto": "EOS SDK", "routeMap": "RM-MLAG-PEER-IN"}, {"proto": "DHCP"}],
|
|
}
|
|
}
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"vrfs": [
|
|
{
|
|
"vrf": "default",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv4 UNicast",
|
|
"redistributed_routes": [
|
|
{"proto": "Connected", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "Static", "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
"vrf": "test",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv6-Unicast",
|
|
"redistributed_routes": [
|
|
{"proto": "User", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "DHCP", "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"VRF: default, AFI-SAFI: IPv4 Unicast, Proto: Connected, Route Map: RM-CONN-2-BGP - Route map mismatch - Actual: RM-CONN-10-BGP",
|
|
"VRF: default, AFI-SAFI: IPv4 Unicast, Proto: Static, Route Map: RM-CONN-2-BGP - Route map mismatch - Actual: Not Found",
|
|
"VRF: test, AFI-SAFI: IPv6 Unicast, Proto: EOS SDK, Route Map: RM-CONN-2-BGP - Route map mismatch - Actual: RM-MLAG-PEER-IN",
|
|
"VRF: test, AFI-SAFI: IPv6 Unicast, Proto: DHCP, Route Map: RM-CONN-2-BGP - Route map mismatch - Actual: Not Found",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-value-include-leaked",
|
|
"test": VerifyBGPRedistribution,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"afiSafiConfig": {
|
|
"v4m": {
|
|
"redistributedRoutes": [
|
|
{"proto": "Connected", "routeMap": "RM-CONN-2-BGP"},
|
|
{"proto": "IS-IS", "includeLeaked": False, "routeMap": "RM-CONN-2-BGP"},
|
|
]
|
|
},
|
|
}
|
|
},
|
|
"test": {
|
|
"afiSafiConfig": {
|
|
"v6u": {
|
|
"redistributedRoutes": [
|
|
{"proto": "Dynamic", "routeMap": "RM-CONN-2-BGP"},
|
|
{"proto": "Bgp", "includeLeaked": True, "routeMap": "RM-CONN-2-BGP"},
|
|
]
|
|
},
|
|
}
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"vrfs": [
|
|
{
|
|
"vrf": "default",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "ipv4-multicast",
|
|
"redistributed_routes": [
|
|
{"proto": "IS-IS", "include_leaked": True, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
"vrf": "test",
|
|
"address_families": [
|
|
{
|
|
"afi_safi": "IPv6_unicast",
|
|
"redistributed_routes": [
|
|
{"proto": "Dynamic", "route_map": "RM-CONN-2-BGP"},
|
|
{"proto": "Bgp", "include_leaked": False, "route_map": "RM-CONN-2-BGP"},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"VRF: default, AFI-SAFI: IPv4 Multicast, Proto: IS-IS, Include Leaked: True, Route Map: RM-CONN-2-BGP - Include leaked mismatch - Actual: False",
|
|
"VRF: test, AFI-SAFI: IPv6 Unicast, Proto: Bgp, Route Map: RM-CONN-2-BGP - Include leaked mismatch - Actual: True",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerTtlMultiHops,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.111.0.1",
|
|
"ttl": 2,
|
|
"maxTtlHops": 2,
|
|
},
|
|
{
|
|
"peerAddress": "10.111.0.2",
|
|
"ttl": 1,
|
|
"maxTtlHops": 1,
|
|
},
|
|
]
|
|
},
|
|
"Test": {"peerList": [{"peerAddress": "10.111.0.3", "ttl": 255, "maxTtlHops": 255}]},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.111.0.1",
|
|
"vrf": "default",
|
|
"ttl": 2,
|
|
"max_ttl_hops": 2,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.2",
|
|
"vrf": "default",
|
|
"ttl": 1,
|
|
"max_ttl_hops": 1,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.3",
|
|
"vrf": "Test",
|
|
"ttl": 255,
|
|
"max_ttl_hops": 255,
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-peer-not-found",
|
|
"test": VerifyBGPPeerTtlMultiHops,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.111.0.4",
|
|
"ttl": 2,
|
|
"maxTtlHops": 2,
|
|
},
|
|
{
|
|
"peerAddress": "10.111.0.5",
|
|
"ttl": 1,
|
|
"maxTtlHops": 1,
|
|
},
|
|
]
|
|
},
|
|
"Test": {"peerList": [{"peerAddress": "10.111.0.6", "ttl": 255, "maxTtlHops": 255}]},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.111.0.1",
|
|
"vrf": "default",
|
|
"ttl": 2,
|
|
"max_ttl_hops": 2,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.2",
|
|
"vrf": "Test",
|
|
"ttl": 255,
|
|
"max_ttl_hops": 255,
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "failure", "messages": ["Peer: 10.111.0.1 VRF: default - Not found", "Peer: 10.111.0.2 VRF: Test - Not found"]},
|
|
},
|
|
{
|
|
"name": "failure-ttl-time-mismatch",
|
|
"test": VerifyBGPPeerTtlMultiHops,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.111.0.1",
|
|
"ttl": 12,
|
|
"maxTtlHops": 2,
|
|
},
|
|
{
|
|
"peerAddress": "10.111.0.2",
|
|
"ttl": 120,
|
|
"maxTtlHops": 1,
|
|
},
|
|
]
|
|
},
|
|
"Test": {"peerList": [{"peerAddress": "10.111.0.3", "ttl": 205, "maxTtlHops": 255}]},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.111.0.1",
|
|
"vrf": "default",
|
|
"ttl": 2,
|
|
"max_ttl_hops": 2,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.2",
|
|
"vrf": "default",
|
|
"ttl": 1,
|
|
"max_ttl_hops": 1,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.3",
|
|
"vrf": "Test",
|
|
"ttl": 255,
|
|
"max_ttl_hops": 255,
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.111.0.1 VRF: default - TTL mismatch - Expected: 2 Actual: 12",
|
|
"Peer: 10.111.0.2 VRF: default - TTL mismatch - Expected: 1 Actual: 120",
|
|
"Peer: 10.111.0.3 VRF: Test - TTL mismatch - Expected: 255 Actual: 205",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-max-ttl-hops-mismatch",
|
|
"test": VerifyBGPPeerTtlMultiHops,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "10.111.0.1",
|
|
"ttl": 2,
|
|
"maxTtlHops": 12,
|
|
},
|
|
{
|
|
"peerAddress": "10.111.0.2",
|
|
"ttl": 1,
|
|
"maxTtlHops": 100,
|
|
},
|
|
]
|
|
},
|
|
"Test": {"peerList": [{"peerAddress": "10.111.0.3", "ttl": 255, "maxTtlHops": 205}]},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "10.111.0.1",
|
|
"vrf": "default",
|
|
"ttl": 2,
|
|
"max_ttl_hops": 2,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.2",
|
|
"vrf": "default",
|
|
"ttl": 1,
|
|
"max_ttl_hops": 1,
|
|
},
|
|
{
|
|
"peer_address": "10.111.0.3",
|
|
"vrf": "Test",
|
|
"ttl": 255,
|
|
"max_ttl_hops": 255,
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Peer: 10.111.0.1 VRF: default - Max TTL Hops mismatch - Expected: 2 Actual: 12",
|
|
"Peer: 10.111.0.2 VRF: default - Max TTL Hops mismatch - Expected: 1 Actual: 100",
|
|
"Peer: 10.111.0.3 VRF: Test - Max TTL Hops mismatch - Expected: 255 Actual: 205",
|
|
],
|
|
},
|
|
},
|
|
]
|