Typo in the upstream's ASN (65020 instead of 65200)¶
Case 13 of the Network Change Verdict Corpus. Category: fat-finger. Expected verdict: unsafe (an experienced operator would reject it).
Why it is expected unsafe¶
The upstream session never comes up; the customer loses internet access.
The config change¶
Against the FRR configs of the base lab:
--- a/pe1.conf
+++ b/pe1.conf
@@ -45,7 +45,7 @@
bgp router-id 10.255.0.1
neighbor 10.0.1.2 remote-as 65100
neighbor 10.0.1.2 description ce1
- neighbor 10.0.2.2 remote-as 65200
+ neighbor 10.0.2.2 remote-as 65020
neighbor 10.0.2.2 description up1
neighbor 10.0.3.2 remote-as 65000
neighbor 10.0.3.2 description pe2
What each strategy said¶
The expected verdict was committed to git before any run. All three strategies tested the same running lab (method).
| Strategy | Verdict | Result | Checks that failed |
|---|---|---|---|
| Ping only | unsafe | ✅ | customer reaches upstream |
| All BGP sessions up | unsafe | ✅ | pe1-up1 up |
| Netdryrun intent checks | unsafe | ✅ | I1 pe1-up1 session up, I2 upstream has customer route, I2 upstream has our aggregate, I3 customer has upstream route, I3 customer has default, I3 customer reaches upstream, I5 upstream receives exactly our 2 prefixes |
What Netdryrun flagged¶
These checks from the intent spec failed:
- I1 pe1-up1 session up: the BGP session from pe1 to 10.0.2.2 is established
- I2 upstream has customer route: 10.100.0.0/24 must be in up1's routing table as a bgp route
- I2 upstream has our aggregate: 192.0.2.0/24 must be in up1's routing table as a bgp route
- I3 customer has upstream route: 203.0.113.0/24 must be in ce1's routing table as a bgp route
- I3 customer has default: 0.0.0.0/0 must be in ce1's routing table as a bgp route
- I3 customer reaches upstream: ce1 can ping 203.0.113.1 from 10.100.0.1
- I5 upstream receives exactly our 2 prefixes: up1 receives exactly 2 prefixes from 10.0.2.1
Reproduce it¶
On Linux or WSL2 with Docker and containerlab, from a checkout of the repository:
Case file: corpus/cases/13-upstream-asn-typo.yml. Published result: netdryrun 0.2.0, containerlab 0.81.1, FRR quay.io/frrouting/frr:10.4.1, commit ec23379, run on 2026-10-26.