- Create Ixia_TG back-2-back topology
kne_cli create kne-demo/topologies/kne_ixia-b2b_config.txt
kubectl get pods -n ixia-c-b2b
- Copy and run a test package. This package would execute one BGPv4 test
kubectl cp kne-demo/kne-demo-tests/b2b-tests gosnappi:/go/sample-tests/
kubectl exec -it gosnappi -- /bin/bash -c "cd /go/sample-tests/b2b-tests; go test -run=TestB2BEbgpv4RoutesGosnappi -v"
- Destroy Ixia_TG back-2-back topology once the testing is over
kne_cli delete kne-demo/topologies/kne_ixia-b2b_config.txt
kubectl get pods -n ixia-c-b2b
- This test topology has a single DUT and two IXIA_TG ports surrounding it. The test runs eBGPv4 protocol
ate1 <---------> dut <---------> ate2
IXIA_TG ARISTA_CEOS IXIA_TG
1.1.1.2 1.1.1.1 2.2.2.1 2.2.2.2
AS2222 AS1111 AS3333
- Create KNE topology with a single DUT and two Ixia_TG nodes
kne_cli create kne-demo/topologies/kne_ixia-dut_config.txt
kubectl get pods -n ixia-c-dut
- Copy and run a test package. This package would execute one BGPv4 test
kubectl cp kne-demo/kne-demo-tests/dut-tests gosnappi:/go/sample-tests/
kubectl exec -it gosnappi -- /bin/bash -c "cd /go/sample-tests/dut-tests; go test -run=TestDUTEbgpv4RoutesGosnappi -v"
- Destroy the topology once the testing is over
kne_cli delete kne-demo/topologies/kne_ixia-dut_config.txt
kubectl get pods -n ixia-c-dut
- Create Ixia_TG + Arista topology
cd kne-demo/topologies
kne_cli create kne_ixia3_arista2_config.txt
kubectl get pods -n ixia-c
- Run test BGP test package with IPv4 and IPv6 routes and traffic flows
kubectl exec -it gosnappi -- /bin/bash -c 'cd sample-tests/tests; go test -run=TestPacketForwardBgpV4_V4V6Flows -tags=arista -v'
- Destroy the Ixia_TG + Arista topology once the testing is over
kne_cli delete kne_ixia3_arista2_config.txt
kubectl get pods -n ixia-c
cd ../../../
- Create Ixia_TG + Arista topology
cd kne-demo/topologies
kne_cli create kne_ixia-c-ceos-3node_config.txt
kubectl get pods -n ixia-c-ceos-3node
cd ../..
- Copy and run a test package. This package would execute BGP test package with IPv4 and IPv6 routes and traffic flows
kubectl cp kne-demo/kne-demo-tests/ceos-3node-tests gosnappi:/go/sample-tests/
kubectl exec -it gosnappi -- /bin/bash -c "cd /go/sample-tests/ceos-3node-tests; go test -run=Test3DUTPacketForwardBgpV4_V4V6Flows -v"
- Destroy the Ixia_TG + Arista topology once the testing is over
cd kne-demo/topologies
kne_cli delete kne_ixia-c-ceos-3node_config.txt
kubectl get pods -n ixia-c-ceos-3node
cd ../..
- Create Ixia_TG + 4-node Clos POD topology
cd kne-demo/topologies/clos-4node-pod
kne_cli create kne_clos-4node-pod-ceos.txt
kubectl get pods -n clos-4node-pod-ceos
cd ../../..
To inspect BGP status on the devices, use
kubectl exec pod1-1 -c pod1-1 -n clos-4node-pod-ceos -- Cli -e -c "sh ip bgp summary"
kubectl exec pod1-2 -c pod1-2 -n clos-4node-pod-ceos -- Cli -e -c "sh ip bgp summary"
kubectl exec tor1-1 -c tor1-1 -n clos-4node-pod-ceos -- Cli -e -c "sh ip bgp summary"
kubectl exec tor1-2 -c tor1-2 -n clos-4node-pod-ceos -- Cli -e -c "sh ip bgp summary"
To inspect IP routes installed from BGP, use
kubectl exec pod1-1 -c pod1-1 -n clos-4node-pod-ceos -- Cli -e -c "sh ip route bgp"
kubectl exec pod1-2 -c pod1-2 -n clos-4node-pod-ceos -- Cli -e -c "sh ip route bgp"
kubectl exec tor1-1 -c tor1-1 -n clos-4node-pod-ceos -- Cli -e -c "sh ip route bgp"
kubectl exec tor1-2 -c tor1-2 -n clos-4node-pod-ceos -- Cli -e -c "sh ip route bgp"
- Copy and run a test package. This package would execute BGP test package with IPv4 and IPv6 routes and traffic flows, with ECMP failover
kubectl exec gosnappi -- rm -rf /go/sample-tests/clos-4node-pod
kubectl cp kne-demo/kne-demo-tests/clos-4node-pod gosnappi:/go/sample-tests/
kubectl exec -it gosnappi -- /bin/bash -c "cd /go/sample-tests/clos-4node-pod; bash test_ecmp_failover.sh"
- Copy and run a test package. This package would execute BGP test package with IPv4 and IPv6 routes and traffic flows, with BGP route-maps
kubectl exec gosnappi -- rm -rf /go/sample-tests/clos-4node-pod
kubectl cp kne-demo/kne-demo-tests/clos-4node-pod gosnappi:/go/sample-tests/
kubectl exec -it gosnappi -- /bin/bash -c "cd /go/sample-tests/clos-4node-pod; bash test_bgp_route-map.sh"
- Destroy the Ixia_TG + 4-node Clos POD topology once the testing is over
cd kne-demo/topologies/clos-4node-pod
kne_cli delete kne_clos-4node-pod-ceos.txt
kubectl get pods -n clos-4node-pod-ceos
cd ../../..