Rename routers in nhrp_redundancy to match the diagram. Cosmetic change.
> cd tests/topotests/nhrp_redundancy
> git grep r1 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r1|nhs1|g' -i
> git grep r2 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r2|nhs2|g' -i
> git grep r3 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r3|nhs3|g' -i
> git grep r4 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r4|nhc1|g' -i
> git grep r5 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r5|nhc2|g' -i
> git grep r6 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r6|router|g' -i
> git grep r7 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|r7|host|g' -i
>
> git grep R1 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R1|nhs1|g' -i
> git grep R2 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R2|nhs2|g' -i
> git grep R3 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R3|nhs3|g' -i
> git grep R4 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R4|nhc1|g' -i
> git grep R5 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R5|nhc2|g' -i
> git grep R6 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R6|router|g' -i
> git grep R7 | cut -f1 -d: | uniq | xargs -L1 sed -e 's|R7|host|g' -i
>
> mv r1 nhs1
> mv r2 nhs2
> mv r3 nhs3
> mv r4 nhc1
> mv r5 nhc2
> mv r6 router
> mv r7 host
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
--- /dev/null
+interface host-eth0
+ ip address 4.4.4.7/24
+!
+ip route 0.0.0.0/0 4.4.4.4
--- /dev/null
+{
+ "attr": {
+ "entriesCount": 4
+ },
+ "table": [
+ {
+ "interface": "nhc1-gre0",
+ "type": "nhs",
+ "protocol": "176.16.1.2",
+ "nbma": "192.168.1.2",
+ "claimed_nbma": "192.168.1.2",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhc1-gre0",
+ "type": "local",
+ "protocol": "176.16.1.4",
+ "nbma": "192.168.2.4",
+ "claimed_nbma": "192.168.2.4",
+ "used": false,
+ "timeout": false,
+ "auth": false,
+ "identity": "-"
+ },
+ {
+ "interface": "nhc1-gre0",
+ "type": "nhs",
+ "protocol": "176.16.1.3",
+ "nbma": "192.168.1.3",
+ "claimed_nbma": "192.168.1.3",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhc1-gre0",
+ "type": "nhs",
+ "protocol": "176.16.1.1",
+ "nbma": "192.168.1.1",
+ "claimed_nbma": "192.168.1.1",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "176.16.1.1\/32": [
+ {
+ "prefix": "176.16.1.1\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.2\/32": [
+ {
+ "prefix": "176.16.1.2\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.3\/32": [
+ {
+ "prefix": "176.16.1.3\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "5.5.5.0\/24": [
+ {
+ "prefix": "5.5.5.0\/24",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "ip": "176.16.1.5",
+ "afi": "ipv4",
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.1\/32": [
+ {
+ "prefix": "176.16.1.1\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.2\/32": [
+ {
+ "prefix": "176.16.1.2\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.3\/32": [
+ {
+ "prefix": "176.16.1.3\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.5\/32": [
+ {
+ "prefix": "176.16.1.5\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+!debug nhrp all
+interface nhc1-gre0
+ ip nhrp holdtime 10
+ ip nhrp network-id 42
+ ip nhrp registration no-unique
+ ip nhrp nhs dynamic nbma 192.168.1.1
+ ip nhrp nhs dynamic nbma 192.168.1.2
+ ip nhrp nhs dynamic nbma 192.168.1.3
+ ip nhrp shortcut
+ tunnel source nhc1-eth0
+exit
--- /dev/null
+ip forwarding
+interface nhc1-eth0
+ ip address 192.168.2.4/24
+!
+ip route 192.168.1.0/24 192.168.2.6
+interface nhc1-gre0
+ ip address 176.16.1.4/32
+ no link-detect
+ ipv6 nd suppress-ra
+!
+interface nhc1-eth1
+ ip address 4.4.4.4/24
+!
+ip route 0.0.0.0/0 176.16.1.1 50
+ip route 0.0.0.0/0 176.16.1.2 60
+ip route 0.0.0.0/0 176.16.1.3 70
\ No newline at end of file
--- /dev/null
+{
+ "attr": {
+ "entriesCount": 4
+ },
+ "table": [
+ {
+ "interface": "nhc2-gre0",
+ "type": "nhs",
+ "protocol": "176.16.1.2",
+ "nbma": "192.168.1.2",
+ "claimed_nbma": "192.168.1.2",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhc2-gre0",
+ "type": "nhs",
+ "protocol": "176.16.1.3",
+ "nbma": "192.168.1.3",
+ "claimed_nbma": "192.168.1.3",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhc2-gre0",
+ "type": "nhs",
+ "protocol": "176.16.1.1",
+ "nbma": "192.168.1.1",
+ "claimed_nbma": "192.168.1.1",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhc2-gre0",
+ "type": "local",
+ "protocol": "176.16.1.5",
+ "nbma": "192.168.2.5",
+ "claimed_nbma": "192.168.2.5",
+ "used": false,
+ "timeout": false,
+ "auth": false,
+ "identity": "-"
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "176.16.1.1\/32": [
+ {
+ "prefix": "176.16.1.1\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc2-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.2\/32": [
+ {
+ "prefix": "176.16.1.2\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc2-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.3\/32": [
+ {
+ "prefix": "176.16.1.3\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhc2-gre0",
+ "active": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+!debug nhrp all
+interface nhc2-gre0
+ ip nhrp holdtime 10
+ ip nhrp network-id 42
+ ip nhrp nhs dynamic nbma 192.168.1.1
+ ip nhrp nhs dynamic nbma 192.168.1.2
+ ip nhrp nhs dynamic nbma 192.168.1.3
+ ip nhrp registration no-unique
+ ip nhrp shortcut
+ tunnel source nhc2-eth0
+exit
--- /dev/null
+ip forwarding
+interface nhc2-eth0
+ ip address 192.168.2.5/24
+!
+ip route 192.168.1.0/24 192.168.2.6
+interface nhc2-gre0
+ ip address 176.16.1.5/32
+ no link-detect
+ ipv6 nd suppress-ra
+!
+interface nhc2-eth1
+ ip address 5.5.5.5/24
+!
+ip route 0.0.0.0/0 176.16.1.1 50
+ip route 0.0.0.0/0 176.16.1.2 60
+ip route 0.0.0.0/0 176.16.1.3 70
--- /dev/null
+{
+ "attr": {
+ "entriesCount": 3
+ },
+ "table": [
+ {
+ "interface": "nhs1-gre0",
+ "type": "dynamic",
+ "protocol": "176.16.1.4",
+ "nbma": "192.168.2.4",
+ "claimed_nbma": "192.168.2.4",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhs1-gre0",
+ "type": "local",
+ "protocol": "176.16.1.1",
+ "nbma": "192.168.1.1",
+ "claimed_nbma": "192.168.1.1",
+ "used": false,
+ "timeout": false,
+ "auth": false,
+ "identity": "-"
+ },
+ {
+ "interface": "nhs1-gre0",
+ "type": "dynamic",
+ "protocol": "176.16.1.5",
+ "nbma": "192.168.2.5",
+ "claimed_nbma": "192.168.2.5",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "176.16.1.4\/32": [
+ {
+ "prefix": "176.16.1.4\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhs1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.5\/32": [
+ {
+ "prefix": "176.16.1.5\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhs1-gre0",
+ "active": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+!debug nhrp all
+nhrp nflog-group 1
+interface nhs1-gre0
+ ip nhrp holdtime 10
+ ip nhrp network-id 42
+ ip nhrp registration no-unique
+ ip nhrp redirect
+ tunnel source nhs1-eth0
+exit
--- /dev/null
+ip forwarding
+interface nhs1-eth0
+ ip address 192.168.1.1/24
+!
+ip route 192.168.2.0/24 192.168.1.6
+interface nhs1-gre0
+ ip address 176.16.1.1/32
+ no link-detect
+ ipv6 nd suppress-ra
+!
+ip route 4.4.4.0/24 176.16.1.4
+ip route 5.5.5.0/24 176.16.1.5
--- /dev/null
+{
+ "attr": {
+ "entriesCount": 3
+ },
+ "table": [
+ {
+ "interface": "nhs2-gre0",
+ "type": "local",
+ "protocol": "176.16.1.2",
+ "nbma": "192.168.1.2",
+ "claimed_nbma": "192.168.1.2",
+ "used": false,
+ "timeout": false,
+ "auth": false,
+ "identity": "-"
+ },
+ {
+ "interface": "nhs2-gre0",
+ "type": "dynamic",
+ "protocol": "176.16.1.4",
+ "nbma": "192.168.2.4",
+ "claimed_nbma": "192.168.2.4",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhs2-gre0",
+ "type": "dynamic",
+ "protocol": "176.16.1.5",
+ "nbma": "192.168.2.5",
+ "claimed_nbma": "192.168.2.5",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "176.16.1.4\/32": [
+ {
+ "prefix": "176.16.1.4\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhs2-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.5\/32": [
+ {
+ "prefix": "176.16.1.5\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhs2-gre0",
+ "active": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+!debug nhrp all
+nhrp nflog-group 1
+interface nhs2-gre0
+ ip nhrp holdtime 10
+ ip nhrp network-id 42
+ ip nhrp registration no-unique
+ ip nhrp redirect
+ tunnel source nhs2-eth0
+exit
--- /dev/null
+ip forwarding
+interface nhs2-eth0
+ ip address 192.168.1.2/24
+!
+ip route 192.168.2.0/24 192.168.1.6
+interface nhs2-gre0
+ ip address 176.16.1.2/32
+ no link-detect
+ ipv6 nd suppress-ra
+!
+ip route 4.4.4.0/24 176.16.1.4
+ip route 5.5.5.0/24 176.16.1.5
--- /dev/null
+{
+ "attr": {
+ "entriesCount": 3
+ },
+ "table": [
+ {
+ "interface": "nhs3-gre0",
+ "type": "dynamic",
+ "protocol": "176.16.1.4",
+ "nbma": "192.168.2.4",
+ "claimed_nbma": "192.168.2.4",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ },
+ {
+ "interface": "nhs3-gre0",
+ "type": "local",
+ "protocol": "176.16.1.3",
+ "nbma": "192.168.1.3",
+ "claimed_nbma": "192.168.1.3",
+ "used": false,
+ "timeout": false,
+ "auth": false,
+ "identity": "-"
+ },
+ {
+ "interface": "nhs3-gre0",
+ "type": "dynamic",
+ "protocol": "176.16.1.5",
+ "nbma": "192.168.2.5",
+ "claimed_nbma": "192.168.2.5",
+ "used": false,
+ "timeout": true,
+ "auth": false,
+ "identity": ""
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+{
+ "176.16.1.4\/32": [
+ {
+ "prefix": "176.16.1.4\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhs3-gre0",
+ "active": true
+ }
+ ]
+ }
+ ],
+ "176.16.1.5\/32": [
+ {
+ "prefix": "176.16.1.5\/32",
+ "protocol": "nhrp",
+ "vrfId": 0,
+ "vrfName": "default",
+ "selected": true,
+ "destSelected": true,
+ "distance": 10,
+ "metric": 0,
+ "installed": true,
+ "internalNextHopNum": 1,
+ "internalNextHopActiveNum": 1,
+ "nexthops": [
+ {
+ "fib": true,
+ "directlyConnected": true,
+ "interfaceName": "nhs3-gre0",
+ "active": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+!debug nhrp all
+nhrp nflog-group 1
+interface nhs3-gre0
+ ip nhrp holdtime 10
+ ip nhrp network-id 42
+ ip nhrp registration no-unique
+ ip nhrp redirect
+ tunnel source nhs3-eth0
+exit
--- /dev/null
+ip forwarding
+interface nhs3-eth0
+ ip address 192.168.1.3/24
+!
+ip route 192.168.2.0/24 192.168.1.6
+interface nhs3-gre0
+ ip address 176.16.1.3/32
+ no link-detect
+ ipv6 nd suppress-ra
+!
+ip route 4.4.4.0/24 176.16.1.4
+ip route 5.5.5.0/24 176.16.1.5
\ No newline at end of file
+++ /dev/null
-{
- "attr": {
- "entriesCount": 3
- },
- "table": [
- {
- "interface": "r1-gre0",
- "type": "dynamic",
- "protocol": "176.16.1.4",
- "nbma": "192.168.2.4",
- "claimed_nbma": "192.168.2.4",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r1-gre0",
- "type": "local",
- "protocol": "176.16.1.1",
- "nbma": "192.168.1.1",
- "claimed_nbma": "192.168.1.1",
- "used": false,
- "timeout": false,
- "auth": false,
- "identity": "-"
- },
- {
- "interface": "r1-gre0",
- "type": "dynamic",
- "protocol": "176.16.1.5",
- "nbma": "192.168.2.5",
- "claimed_nbma": "192.168.2.5",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "176.16.1.4\/32": [
- {
- "prefix": "176.16.1.4\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r1-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.5\/32": [
- {
- "prefix": "176.16.1.5\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r1-gre0",
- "active": true
- }
- ]
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-!debug nhrp all
-nhrp nflog-group 1
-interface r1-gre0
- ip nhrp holdtime 10
- ip nhrp network-id 42
- ip nhrp registration no-unique
- ip nhrp redirect
- tunnel source r1-eth0
-exit
+++ /dev/null
-ip forwarding
-interface r1-eth0
- ip address 192.168.1.1/24
-!
-ip route 192.168.2.0/24 192.168.1.6
-interface r1-gre0
- ip address 176.16.1.1/32
- no link-detect
- ipv6 nd suppress-ra
-!
-ip route 4.4.4.0/24 176.16.1.4
-ip route 5.5.5.0/24 176.16.1.5
+++ /dev/null
-{
- "attr": {
- "entriesCount": 3
- },
- "table": [
- {
- "interface": "r2-gre0",
- "type": "local",
- "protocol": "176.16.1.2",
- "nbma": "192.168.1.2",
- "claimed_nbma": "192.168.1.2",
- "used": false,
- "timeout": false,
- "auth": false,
- "identity": "-"
- },
- {
- "interface": "r2-gre0",
- "type": "dynamic",
- "protocol": "176.16.1.4",
- "nbma": "192.168.2.4",
- "claimed_nbma": "192.168.2.4",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r2-gre0",
- "type": "dynamic",
- "protocol": "176.16.1.5",
- "nbma": "192.168.2.5",
- "claimed_nbma": "192.168.2.5",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "176.16.1.4\/32": [
- {
- "prefix": "176.16.1.4\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r2-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.5\/32": [
- {
- "prefix": "176.16.1.5\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r2-gre0",
- "active": true
- }
- ]
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-!debug nhrp all
-nhrp nflog-group 1
-interface r2-gre0
- ip nhrp holdtime 10
- ip nhrp network-id 42
- ip nhrp registration no-unique
- ip nhrp redirect
- tunnel source r2-eth0
-exit
+++ /dev/null
-ip forwarding
-interface r2-eth0
- ip address 192.168.1.2/24
-!
-ip route 192.168.2.0/24 192.168.1.6
-interface r2-gre0
- ip address 176.16.1.2/32
- no link-detect
- ipv6 nd suppress-ra
-!
-ip route 4.4.4.0/24 176.16.1.4
-ip route 5.5.5.0/24 176.16.1.5
+++ /dev/null
-{
- "attr": {
- "entriesCount": 3
- },
- "table": [
- {
- "interface": "r3-gre0",
- "type": "dynamic",
- "protocol": "176.16.1.4",
- "nbma": "192.168.2.4",
- "claimed_nbma": "192.168.2.4",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r3-gre0",
- "type": "local",
- "protocol": "176.16.1.3",
- "nbma": "192.168.1.3",
- "claimed_nbma": "192.168.1.3",
- "used": false,
- "timeout": false,
- "auth": false,
- "identity": "-"
- },
- {
- "interface": "r3-gre0",
- "type": "dynamic",
- "protocol": "176.16.1.5",
- "nbma": "192.168.2.5",
- "claimed_nbma": "192.168.2.5",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "176.16.1.4\/32": [
- {
- "prefix": "176.16.1.4\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r3-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.5\/32": [
- {
- "prefix": "176.16.1.5\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r3-gre0",
- "active": true
- }
- ]
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-!debug nhrp all
-nhrp nflog-group 1
-interface r3-gre0
- ip nhrp holdtime 10
- ip nhrp network-id 42
- ip nhrp registration no-unique
- ip nhrp redirect
- tunnel source r3-eth0
-exit
+++ /dev/null
-ip forwarding
-interface r3-eth0
- ip address 192.168.1.3/24
-!
-ip route 192.168.2.0/24 192.168.1.6
-interface r3-gre0
- ip address 176.16.1.3/32
- no link-detect
- ipv6 nd suppress-ra
-!
-ip route 4.4.4.0/24 176.16.1.4
-ip route 5.5.5.0/24 176.16.1.5
\ No newline at end of file
+++ /dev/null
-{
- "attr": {
- "entriesCount": 4
- },
- "table": [
- {
- "interface": "r4-gre0",
- "type": "nhs",
- "protocol": "176.16.1.2",
- "nbma": "192.168.1.2",
- "claimed_nbma": "192.168.1.2",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r4-gre0",
- "type": "local",
- "protocol": "176.16.1.4",
- "nbma": "192.168.2.4",
- "claimed_nbma": "192.168.2.4",
- "used": false,
- "timeout": false,
- "auth": false,
- "identity": "-"
- },
- {
- "interface": "r4-gre0",
- "type": "nhs",
- "protocol": "176.16.1.3",
- "nbma": "192.168.1.3",
- "claimed_nbma": "192.168.1.3",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r4-gre0",
- "type": "nhs",
- "protocol": "176.16.1.1",
- "nbma": "192.168.1.1",
- "claimed_nbma": "192.168.1.1",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "176.16.1.1\/32": [
- {
- "prefix": "176.16.1.1\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.2\/32": [
- {
- "prefix": "176.16.1.2\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.3\/32": [
- {
- "prefix": "176.16.1.3\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "5.5.5.0\/24": [
- {
- "prefix": "5.5.5.0\/24",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "ip": "176.16.1.5",
- "afi": "ipv4",
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.1\/32": [
- {
- "prefix": "176.16.1.1\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.2\/32": [
- {
- "prefix": "176.16.1.2\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.3\/32": [
- {
- "prefix": "176.16.1.3\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.5\/32": [
- {
- "prefix": "176.16.1.5\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r4-gre0",
- "active": true
- }
- ]
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-!debug nhrp all
-interface r4-gre0
- ip nhrp holdtime 10
- ip nhrp network-id 42
- ip nhrp registration no-unique
- ip nhrp nhs dynamic nbma 192.168.1.1
- ip nhrp nhs dynamic nbma 192.168.1.2
- ip nhrp nhs dynamic nbma 192.168.1.3
- ip nhrp shortcut
- tunnel source r4-eth0
-exit
+++ /dev/null
-ip forwarding
-interface r4-eth0
- ip address 192.168.2.4/24
-!
-ip route 192.168.1.0/24 192.168.2.6
-interface r4-gre0
- ip address 176.16.1.4/32
- no link-detect
- ipv6 nd suppress-ra
-!
-interface r4-eth1
- ip address 4.4.4.4/24
-!
-ip route 0.0.0.0/0 176.16.1.1 50
-ip route 0.0.0.0/0 176.16.1.2 60
-ip route 0.0.0.0/0 176.16.1.3 70
\ No newline at end of file
+++ /dev/null
-{
- "attr": {
- "entriesCount": 4
- },
- "table": [
- {
- "interface": "r5-gre0",
- "type": "nhs",
- "protocol": "176.16.1.2",
- "nbma": "192.168.1.2",
- "claimed_nbma": "192.168.1.2",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r5-gre0",
- "type": "nhs",
- "protocol": "176.16.1.3",
- "nbma": "192.168.1.3",
- "claimed_nbma": "192.168.1.3",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r5-gre0",
- "type": "nhs",
- "protocol": "176.16.1.1",
- "nbma": "192.168.1.1",
- "claimed_nbma": "192.168.1.1",
- "used": false,
- "timeout": true,
- "auth": false,
- "identity": ""
- },
- {
- "interface": "r5-gre0",
- "type": "local",
- "protocol": "176.16.1.5",
- "nbma": "192.168.2.5",
- "claimed_nbma": "192.168.2.5",
- "used": false,
- "timeout": false,
- "auth": false,
- "identity": "-"
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "176.16.1.1\/32": [
- {
- "prefix": "176.16.1.1\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r5-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.2\/32": [
- {
- "prefix": "176.16.1.2\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r5-gre0",
- "active": true
- }
- ]
- }
- ],
- "176.16.1.3\/32": [
- {
- "prefix": "176.16.1.3\/32",
- "protocol": "nhrp",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 10,
- "metric": 0,
- "installed": true,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "r5-gre0",
- "active": true
- }
- ]
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-!debug nhrp all
-interface r5-gre0
- ip nhrp holdtime 10
- ip nhrp network-id 42
- ip nhrp nhs dynamic nbma 192.168.1.1
- ip nhrp nhs dynamic nbma 192.168.1.2
- ip nhrp nhs dynamic nbma 192.168.1.3
- ip nhrp registration no-unique
- ip nhrp shortcut
- tunnel source r5-eth0
-exit
+++ /dev/null
-ip forwarding
-interface r5-eth0
- ip address 192.168.2.5/24
-!
-ip route 192.168.1.0/24 192.168.2.6
-interface r5-gre0
- ip address 176.16.1.5/32
- no link-detect
- ipv6 nd suppress-ra
-!
-interface r5-eth1
- ip address 5.5.5.5/24
-!
-ip route 0.0.0.0/0 176.16.1.1 50
-ip route 0.0.0.0/0 176.16.1.2 60
-ip route 0.0.0.0/0 176.16.1.3 70
+++ /dev/null
-ip forwarding
-interface r6-eth0
- ip address 192.168.1.6/24
-!
-interface r6-eth1
- ip address 192.168.2.6/24
-exit
+++ /dev/null
-interface r7-eth0
- ip address 4.4.4.7/24
-!
-ip route 0.0.0.0/0 4.4.4.4
--- /dev/null
+ip forwarding
+interface router-eth0
+ ip address 192.168.1.6/24
+!
+interface router-eth1
+ ip address 192.168.2.6/24
+exit
label="nhrp-topo-redundant-nhs";
# Routers
- r1 [
+ nhs1 [
shape=doubleoctagon,
label="NHS 1",
fillcolor="#f08080",
style=filled,
];
- r2 [
+ nhs2 [
shape=doubleoctagon
label="NHS 2",
fillcolor="#f08080",
style=filled,
];
- r3 [
+ nhs3 [
shape=doubleoctagon
label="NHS 3",
fillcolor="#f08080",
style=filled,
];
- r4 [
+ nhc1 [
shape=doubleoctagon
label="NHC 1",
fillcolor="#f08080",
style=filled,
];
- r5 [
+ nhc2 [
shape=doubleoctagon
label="NHC 2",
fillcolor="#f08080",
style=filled,
];
- r6 [
+ router [
shape=doubleoctagon
label="router",
fillcolor="#f08080",
style=filled,
];
- r7 [
+ host [
shape=doubleoctagon
label="host",
fillcolor="#f08080",
];
# Connections
- r1 -- sw1 [label="eth0"];
- r2 -- sw1 [label="eth0"];
- r3 -- sw1 [label="eth0"];
- r6 -- sw1 [label="eth0"];
+ nhs1 -- sw1 [label="eth0"];
+ nhs2 -- sw1 [label="eth0"];
+ nhs3 -- sw1 [label="eth0"];
+ router -- sw1 [label="eth0"];
- r4 -- sw2 [label="eth0"];
- r5 -- sw2 [label="eth0"];
- r6 -- sw2 [label="eth1"];
+ nhc1 -- sw2 [label="eth0"];
+ nhc2 -- sw2 [label="eth0"];
+ router -- sw2 [label="eth1"];
- r4 -- sw3 [label="eth1"];
- r7 -- sw3 [label="eth0"];
+ nhc1 -- sw3 [label="eth1"];
+ host -- sw3 [label="eth0"];
- r5 -- sw4 [label="eth1"];
+ nhc2 -- sw4 [label="eth1"];
}
"Build function"
# Create 7 routers
- for routern in range(1, 8):
- tgen.add_router("r{}".format(routern))
+ for rname in ["nhs1", "nhs2", "nhs3", "nhc1", "nhc2", "router", "host"]:
+ tgen.add_router(rname)
- # Interconnect routers 1, 2, 3, 6
switch = tgen.add_switch("s1")
- switch.add_link(tgen.gears["r1"])
- switch.add_link(tgen.gears["r2"])
- switch.add_link(tgen.gears["r3"])
- switch.add_link(tgen.gears["r6"])
+ switch.add_link(tgen.gears["nhs1"])
+ switch.add_link(tgen.gears["nhs2"])
+ switch.add_link(tgen.gears["nhs3"])
+ switch.add_link(tgen.gears["router"])
- # Interconnect routers 4, 5, 6
switch = tgen.add_switch("s2")
- switch.add_link(tgen.gears["r4"])
- switch.add_link(tgen.gears["r5"])
- switch.add_link(tgen.gears["r6"])
+ switch.add_link(tgen.gears["nhc1"])
+ switch.add_link(tgen.gears["nhc2"])
+ switch.add_link(tgen.gears["router"])
- # Connect router 4, 7
switch = tgen.add_switch("s3")
- switch.add_link(tgen.gears["r4"])
- switch.add_link(tgen.gears["r7"])
+ switch.add_link(tgen.gears["nhc1"])
+ switch.add_link(tgen.gears["host"])
- # Connect router 5
switch = tgen.add_switch("s4")
- switch.add_link(tgen.gears["r5"])
+ switch.add_link(tgen.gears["nhc2"])
def _populate_iface():
]
for cmd in cmds_tot_hub:
- # Router 1
- input = cmd.format("r1", "1")
+ input = cmd.format("nhs1", "1")
logger.info("input: " + input)
- output = tgen.net["r1"].cmd(input)
+ output = tgen.net["nhs1"].cmd(input)
logger.info("output: " + output)
- # Router 2
- input = cmd.format("r2", "2")
+ input = cmd.format("nhs2", "2")
logger.info("input: " + input)
- output = tgen.net["r2"].cmd(input)
+ output = tgen.net["nhs2"].cmd(input)
logger.info("output: " + output)
- # Router 3
- input = cmd.format("r3", "3")
+ input = cmd.format("nhs3", "3")
logger.info("input: " + input)
- output = tgen.net["r3"].cmd(input)
+ output = tgen.net["nhs3"].cmd(input)
logger.info("output: " + output)
for cmd in cmds_tot:
- input = cmd.format("r4", "4")
+ input = cmd.format("nhc1", "4")
logger.info("input: " + input)
- output = tgen.net["r4"].cmd(input)
+ output = tgen.net["nhc1"].cmd(input)
logger.info("output: " + output)
- input = cmd.format("r5", "5")
+ input = cmd.format("nhc2", "5")
logger.info("input: " + input)
- output = tgen.net["r5"].cmd(input)
+ output = tgen.net["nhc2"].cmd(input)
logger.info("output: " + output)
def _verify_iptables():
tgen = get_topogen()
# Verify iptables is installed. Required for shortcuts
- rc, _, _ = tgen.net["r1"].cmd_status("iptables")
+ rc, _, _ = tgen.net["nhs1"].cmd_status("iptables")
return False if rc == 127 else True
TopoRouter.RD_ZEBRA,
os.path.join(CWD, "{}/zebra.conf".format(rname)),
)
- if rname in ("r1", "r2", "r3", "r4", "r5"):
+ if rname in ("nhs1", "nhs2", "nhs3", "nhc1", "nhc2"):
router.load_config(
TopoRouter.RD_NHRP, os.path.join(CWD, "{}/nhrpd.conf".format(rname))
)
assert result is None, assertmsg
# Test connectivity from 1 NHRP server to all clients
- pingrouter = tgen.gears["r1"]
- logger.info("Check Ping IPv4 from R1 to R4 = 176.16.1.4)")
+ pingrouter = tgen.gears["nhs1"]
+ logger.info("Check Ping IPv4 from nhs1 to nhc1 = 176.16.1.4)")
output = pingrouter.run("ping 176.16.1.4 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R1 to R4 should be ok"
+ assertmsg = "expected ping IPv4 from nhs1 to nhc1 should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R1 to R4 OK")
+ logger.info("Check Ping IPv4 from nhs1 to nhc1 OK")
- logger.info("Check Ping IPv4 from R1 to R5 = 176.16.1.5)")
+ logger.info("Check Ping IPv4 from nhs1 to nhc2 = 176.16.1.5)")
output = pingrouter.run("ping 176.16.1.5 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R1 to R5 should be ok"
+ assertmsg = "expected ping IPv4 from nhs1 to nhc2 should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R1 to R5 OK")
+ logger.info("Check Ping IPv4 from nhs1 to nhc2 OK")
# Test connectivity from 1 NHRP client to all servers
- pingrouter = tgen.gears["r4"]
- logger.info("Check Ping IPv4 from R4 to R1 = 176.16.1.1)")
+ pingrouter = tgen.gears["nhc1"]
+ logger.info("Check Ping IPv4 from nhc1 to nhs1 = 176.16.1.1)")
output = pingrouter.run("ping 176.16.1.1 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R4 to R1 should be ok"
+ assertmsg = "expected ping IPv4 from nhc1 to nhs1 should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R4 to R1 OK")
+ logger.info("Check Ping IPv4 from nhc1 to nhs1 OK")
- logger.info("Check Ping IPv4 from R4 to R2 = 176.16.1.2)")
+ logger.info("Check Ping IPv4 from nhc1 to nhs2 = 176.16.1.2)")
output = pingrouter.run("ping 176.16.1.2 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R4 to R2 should be ok"
+ assertmsg = "expected ping IPv4 from nhc1 to nhs2 should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R4 to R2 OK")
+ logger.info("Check Ping IPv4 from nhc1 to nhs2 OK")
- logger.info("Check Ping IPv4 from R4 to R3 = 176.16.1.3)")
+ logger.info("Check Ping IPv4 from nhc1 to nhs3 = 176.16.1.3)")
output = pingrouter.run("ping 176.16.1.3 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R4 to R3 should be ok"
+ assertmsg = "expected ping IPv4 from nhc1 to nhs3 should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R4 to R3 OK")
+ logger.info("Check Ping IPv4 from nhc1 to nhs3 OK")
@retry(retry_timeout=30, initial_wait=5)
Verifying that traffic flows through shortcut path
"""
tgen = get_topogen()
- pingrouter = tgen.gears["r7"]
- logger.info("Check Ping IPv4 from R7 to R5 = 5.5.5.5")
+ pingrouter = tgen.gears["host"]
+ logger.info("Check Ping IPv4 from host to nhc2 = 5.5.5.5")
output = pingrouter.run("ping 5.5.5.5 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R7 to R5 should be ok"
+ assertmsg = "expected ping IPv4 from host to nhc2 should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R7 to R5 OK")
+ logger.info("Check Ping IPv4 from host to nhc2 OK")
def test_redundancy_shortcut():
logger.info("Testing NHRP shortcuts with redundant servers")
- # Verify R4 nhrp routes before shortcut creation
- router = tgen.gears["r4"]
+ # Verify nhc1 nhrp routes before shortcut creation
+ router = tgen.gears["nhc1"]
json_file = "{}/{}/nhrp_route.json".format(CWD, router.name)
assertmsg = "No nhrp_route file found"
assert os.path.isfile(json_file), assertmsg
assert result is None, assertmsg
# Initiate shortcut by pinging between clients
- pingrouter = tgen.gears["r7"]
- logger.info("Check Ping IPv4 from R7 to R5 via shortcut = 5.5.5.5")
+ pingrouter = tgen.gears["host"]
+ logger.info("Check Ping IPv4 from host to nhc2 via shortcut = 5.5.5.5")
output = pingrouter.run("ping 5.5.5.5 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R7 to R5 via shortcut should be ok"
+ assertmsg = "expected ping IPv4 from host to nhc2 via shortcut should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R7 to R5 via shortcut OK")
+ logger.info("Check Ping IPv4 from host to nhc2 via shortcut OK")
# Now check that NHRP shortcut route installed
json_file = "{}/{}/nhrp_route_shortcut.json".format(CWD, router.name)
assert result is None, assertmsg
# Bring down primary GRE interface and verify shortcut is not disturbed
- logger.info("Bringing down R1, primary NHRP server.")
- shutdown_bringup_interface(tgen, "r1", "r1-gre0", False)
+ logger.info("Bringing down nhs1, primary NHRP server.")
+ shutdown_bringup_interface(tgen, "nhs1", "nhs1-gre0", False)
# Verify shortcut is still active
- pingrouter = tgen.gears["r7"]
- logger.info("Check Ping IPv4 from R7 to R5 via shortcut = 5.5.5.5")
+ pingrouter = tgen.gears["host"]
+ logger.info("Check Ping IPv4 from host to nhc2 via shortcut = 5.5.5.5")
output = pingrouter.run("ping 5.5.5.5 -f -c 1000")
logger.info(output)
if "1000 packets transmitted, 1000 received" not in output:
- assertmsg = "expected ping IPv4 from R7 to R5 via shortcut should be ok"
+ assertmsg = "expected ping IPv4 from host to nhc2 via shortcut should be ok"
assert 0, assertmsg
else:
- logger.info("Check Ping IPv4 from R7 to R5 via shortcut OK")
+ logger.info("Check Ping IPv4 from host to nhc2 via shortcut OK")
# Now verify shortcut is purged with lack of traffic
json_file = "{}/{}/nhrp_route.json".format(CWD, router.name)