Fix ZTE BGP RR *i/RD parsing and add batch collect detail UX.

Decouple heavy CLI parse via ParsePool, keep ECMP/multi-RD keys, and expose per-command CLI lines vs DB rows with raw.txt export.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-23 10:52:43 +08:00
parent 4c5738e48e
commit 05357e971e
31 changed files with 1952 additions and 269 deletions

View file

@ -1,3 +1,5 @@
Value Filldown RD (\S+)
Value STATUS ((?:\*[<>isd]*(?:\s+[isd]+)?|[<>isd]+)?)
Value NETWORK (\d{1,3}(?:\.\d{1,3}){3}/\d{1,2}|[0-9A-Fa-f:]+/\d{1,3})
Value NEXT_HOP (\d{1,3}(?:\.\d{1,3}){3}|[0-9A-Fa-f:]+)
Value METRIC (\S*)
@ -10,11 +12,13 @@ Start
^\s*\*?\s*Network\s+Next -> Routes
^Network\s+Next -> Routes
^\s*Dest\s+Next -> Routes
# RD may appear before header on some snippets; keep Filldown ready
^Route\s+Distinguisher\s*:?\s*${RD}
^\s*$$
^.* -> Start
Routes
^Route\s+Distinguisher
^Route\s+Distinguisher\s*:?\s*${RD}
^Status\s+codes
^Origin\s+codes
^Current\s+AS
@ -26,11 +30,11 @@ Routes
^\s*\*?\s*Network\s+Next
^Network\s+Next
^\s*Dest\s+Next
# One-line IPv4-style
^\s*\*?\s*>?\s*${NETWORK}\s+${NEXT_HOP}\s+${METRIC}\s+${LOC_PRF}\s+${TAG}\s+${PATH}\s*$$ -> Record
^\s*\*?\s*>?\s*${NETWORK}\s+${NEXT_HOP}\s+${PATH}\s*$$ -> Record
# One-line IPv4 / RR "* i prefix nh …"
^\s*${STATUS}\s+${NETWORK}\s+${NEXT_HOP}\s+${METRIC}\s+${LOC_PRF}\s+${TAG}\s+${PATH}\s*$$ -> Record
^\s*${STATUS}\s+${NETWORK}\s+${NEXT_HOP}\s+${PATH}\s*$$ -> Record
# IPv6 wrap: network / next-hop / metrics+path on separate lines
^\s*\*?\s*>?\s*${NETWORK}\s*$$
^\s*${STATUS}\s+${NETWORK}\s*$$
^\s+${NEXT_HOP}\s*$$
^\s+${PATH}\s*$$ -> Record
^\s*$$