Communitygithub.com

network-bgp-diagnostics

Diagnose-only BGP-Fehlersuchmuster für Nachbarzustand, Routenaustausch, Präfixrichtlinien, AS-Pfad-Inspektion und sichere Beweissammlung. Verwenden Sie dies, wenn ein BGP-Nachbar ausgefallen ist, Routen fehlen oder Präfixrichtlinien und AS-Pfad überprüft werden müssen.

Was ist network-bgp-diagnostics?

Diese Fähigkeit bietet einen auf sichere, schreibgeschützte Diagnose ausgerichteten Workflow für BGP-Probleme. Sie hilft Netzwerkingenieuren und KI-Agenten, systematisch zu analysieren, warum eine BGP-Sitzung ausgefallen ist (Idle, Active, OpenSent, OpenConfirm), flattert, keine Routen austauscht oder unerwartete Präfixe ankündigt. Die strukturierte Abfolge umfasst die Identifizierung des genauen Nachbarn, der Adressfamilie und des VRFs, die Erfassung des Zusammenfassungszustands und des letzten Zurücksetzungsgrunds, die Überprüfung der Erreichbarkeit auf Transportschicht (Ping, Traceroute, TCP-Details) sowie die Untersuchung von Routenrichtlinien (Präfixlisten, Route-Maps, AS-Pfad-Filter). Ein besonderer Schwerpunkt liegt auf der Vermeidung von voreiligen Änderungen am laufenden Netzwerk – alle klaren Angaben zum Zurücksetzen, zur Neukonfiguration oder zur Richtlinienänderung gehören in ein überprüftes Change-Fenster. Die Fähigkeit enthält außerdem ein Python-Parsing-Muster für die Ausgabe von 'show bgp summary', plattformunabhängige CLI-Befehlsvorlagen und ausführliche Anti-Patterns, die typische Fehler in der BGP-Fehlerbehebung aufdecken. Unterstützte Plattformen umfassen IOS/IOS-XE, NX-OS, JunOS und andere Geräte mit ähnlichen BGP-Befehlen, wobei VRF- und Adressfamilien-Kontexte korrekt behandelt werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/network-bgp-diagnostics

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Netzwerk-BGP-Diagnose

Verwenden Sie diese Fähigkeit, wenn eine BGP-Sitzung ausgefallen ist, flattert, aufgebaut ist, aber Routen fehlen, oder unerwartete Präfixe angekündigt werden. Der Standard-Workflow ist die schreibgeschützte Beweissammlung; Richtlinien- und Zurücksetzungsaktionen gehören in ein überprüftes Change-Fenster.

Wann zu verwenden

  • BGP-Nachbarn stecken in Idle, Connect, Active, OpenSent oder OpenConfirm fest.
  • Eine Sitzung ist Established, aber erwartete Präfixe fehlen.
  • Eine Route-Map, Prefix-List, Max-Prefix-Limit oder AS-Pfad-Richtlinie filtert möglicherweise Routen.
  • Sie benötigen Vorher/Nachher-Beweise für eine BGP-Änderung.
  • Sie überprüfen eine Automatisierung, die BGP-Zusammenfassungsausgaben parst.

Schreibgeschützter Triage-Ablauf

  1. Identifizieren Sie den genauen Nachbarn, die Adressfamilie, das VRF und die lokalen/entfernten ASNs.
  2. Erfassen Sie den Zusammenfassungszustand und den letzten Zurücksetzungsgrund.
  3. Weisen Sie die Erreichbarkeit zur Peer-Quelladresse nach.
  4. Überprüfen Sie die Routenrichtlinien-Referenzen, bevor Sie einen Transportfehler annehmen.
  5. Vergleichen Sie angekündigte, empfangene und installierte Routen, wo die Plattform diese Befehle unterstützt.
show bgp summary
show bgp neighbors <peer>
show ip route <peer>
show tcp brief | include <peer>|:179
show logging | include BGP|<peer>
show running-config | section router bgp
show ip prefix-list
show route-map

Verwenden Sie plattformspezifische Adressfamilien-Befehle, wenn das Gerät VRFs, IPv6, VPNv4 oder EVPN verwendet. Gehen Sie nicht von globalem IPv4-Unicast aus.

Zustandsinterpretation

ZustandErste Überprüfungen
Established mit PräfixanzahlRoutenaustausch läuft; Richtlinie und Tabellenauswahl prüfen
Established mit null PräfixenEingangsrichtlinie, Max-Prefix, angekündigte Routen und AFI/SAFI prüfen
ActiveTCP-Sitzung wird nicht abgeschlossen; Routing, Quelle, ACLs und Peer-Erreichbarkeit prüfen
ConnectTCP-Verbindung läuft; Pfad und entfernten Listener prüfen
OpenSent/OpenConfirmTCP funktioniert; ASN, Authentifizierung, Timer, Fähigkeiten und Logs prüfen
IdleNachbar könnte deaktiviert sein, Konfiguration fehlt, durch Richtlinie blockiert oder Backoff-Timer

Transportprüfungen

ping <peer> source <local-source>
traceroute <peer> source <local-source>
show ip route <peer>
show bgp neighbors <peer> | include BGP state|Last reset|Local host|Foreign host

Wenn der Peer von einem Loopback stammt, bestätigen Sie, dass beide Richtungen zu den Loopback-Adressen routen und dass die Nachbarkonfiguration die erwartete Update-Quelle verwendet.

Vermeiden Sie es, ACLs oder Firewall-Richtlinien als diagnostischen Kurzschluss zu deaktivieren. Lesen Sie zuerst Trefferzähler, Logs und Pfadzustand.

Routenrichtlinien-Prüfungen

show bgp neighbors <peer> advertised-routes
show bgp neighbors <peer> routes
show ip prefix-list <name>
show route-map <name>
show bgp <prefix>

Einige Plattformen erfordern zusätzliche Konfiguration, bevor received-routes verfügbar ist. Fügen Sie diese Konfiguration während der Vorfall-Triage nicht hinzu, es sei denn, der Betreiber genehmigt die Änderung.

AS-Pfad- und Präfix-Überprüfung

show bgp regexp _65001_
show bgp regexp ^65001$
show bgp <prefix>
show bgp neighbors <peer> advertised-routes | include Network|Path|<prefix>

Verwenden Sie AS-Pfad-Regex mit Bedacht. _65001_ matched AS 65001 als Token. Einfaches 65001 kann längere ASNs oder nicht zusammenhängenden Text matchen.

Parser-Muster

import re
from typing import Any

BGP_SUMMARY_RE = re.compile(
    r"^(?P<neighbor>\d{1,3}(?:\.\d{1,3}){3})\s+"
    r"(?P<version>\d+)\s+"
    r"(?P<remote_as>\d+)\s+"
    r"(?P<msg_rcvd>\d+)\s+"
    r"(?P<msg_sent>\d+)\s+"
    r"(?P<table_version>\d+)\s+"
    r"(?P<input_queue>\d+)\s+"
    r"(?P<output_queue>\d+)\s+"
    r"(?P<uptime>\S+)\s+"
    r"(?P<state_or_prefixes>\S+)$",
    re.M,
)

def parse_bgp_summary(raw: str) -> list[dict[str, Any]]:
    rows = []
    for match in BGP_SUMMARY_RE.finditer(raw):
        state_or_prefixes = match.group("state_or_prefixes")
        if state_or_prefixes.isdigit():
            state = "Established"
            prefixes_received = int(state_or_prefixes)
        else:
            state = state_or_prefixes
            prefixes_received = None
        rows.append({
            "neighbor": match.group("neighbor"),
            "remote_as": int(match.group("remote_as")),
            "state": state,
            "prefixes_received": prefixes_received,
            "uptime": match.group("uptime"),
        })
    return rows

Bevorzugen Sie strukturierte Parser-Ausgaben, wenn verfügbar, speichern Sie jedoch die Rohausgabe mit dem Vorfallsdatensatz, da BGP-Zusammenfassungsformate je nach Plattform und Adressfamilie variieren.

Nur für Change-Fenster

Diese Aktionen können das Routing beeinflussen und sollten nicht als automatische Diagnose vorgeschlagen werden:

  • Löschen einer BGP-Sitzung.
  • Ändern der Nachbarauthentifizierung, Timer, Update-Quelle, Route-Maps oder Prefix-Listen.
  • Aktivieren zusätzlicher Speicherung empfangener Routen.
  • Lockern von Firewall-, ACL- oder Control-Plane-Richtlinien.

Wenn ein Zurücksetzen genehmigt ist, bevorzugen Sie die am wenigsten störende Soft- oder Route-Refresh-Option, die von der Plattform unterstützt wird, und dokumentieren Sie genau, warum sie sicher ist.

Anti-Patterns

  • Annahme, dass Active immer bedeutet, dass die entfernte Seite ausgefallen ist.
  • Ignorieren von VRF-, Adressfamilien- oder Update-Quellen-Unterschieden.
  • Verwendung breiter AS-Pfad-Regex ohne Token-Grenzen.
  • Hartes Zurücksetzen eines Peers, bevor der letzte Zurücksetzungsgrund und die Logs gelesen wurden.
  • Behandlung fehlender received-routes-Ausgabe als Beweis, dass keine Routen angekommen sind.

Siehe auch

  • Fähigkeit: cisco-ios-patterns
  • Fähigkeit: network-config-validation
  • Fähigkeit: network-interface-health

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Verwandte Skills