← 返回 Skills 市场
wu-uk

azure-bgp

作者 wu-uk · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ 安全检测通过
87
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install azure-bgp-oscillation-route-leak-azure-bgp
功能描述
Analyze and resolve BGP oscillation and BGP route leaks in Azure Virtual WAN–style hub-and-spoke topologies (and similar cloud-managed BGP environments). Det...
使用说明 (SKILL.md)

Azure BGP Oscillation & Route Leak Analysis

Analyze and resolve BGP oscillation and BGP route leaks in Azure Virtual WAN–style hub-and-spoke topologies (and similar cloud-managed BGP environments).

This skill trains an agent to:

  • Detect preference cycles that cause BGP oscillation
  • Identify valley-free violations that constitute route leaks
  • Propose allowed, policy-level mitigations (routing intent, export policy, communities, UDR, ingress filtering)
  • Reject prohibited fixes (disabling BGP, shutting down peering, removing connectivity)

The focus is cloud-correct reasoning, not on-prem router manipulation.

When to Use This Skill

Use this skill when a task involves:

  • Azure Virtual WAN, hub-and-spoke BGP, ExpressRoute, or VPN gateways
  • Repeated route flapping or unstable path selection
  • Unexpected transit, leaked prefixes, or valley-free violations
  • Choosing between routing intent, UDRs, or BGP policy fixes
  • Evaluating whether a proposed "fix" is valid in Azure

Core Invariants (Must Never Be Violated)

An agent must internalize these constraints before reasoning:

  • ❌ BGP sessions between hubs cannot be administratively disabled by customers as it's owned by azure
  • ❌ Peering connections cannot be shut down as a fix as it break all other traffic running on the connections
  • ❌ Removing connectivity is not a valid solution as it break all other traffic running
  • ✅ Problems must be fixed using routing policy, not topology destruction

Any solution violating these rules is invalid.

Expected Inputs

Tasks using this skill typically provide small JSON files:

File Meaning
topology.json Directed BGP adjacency graph
relationships.json Economic relationship per edge (provider, customer, peer)
preferences.json Per-ASN preferred next hop (may cause oscillation)
route.json Prefix and origin ASN
route_leaks.json Evidence of invalid propagation
possible_solutions.json Candidate fixes to classify

Reasoning Workflow (Executable Checklist)

Step 1 — Sanity-Check Inputs

  • Every ASN referenced must exist in topology.json
  • Relationship symmetry must hold:
    • provider(A→B)customer(B→A)
    • peer must be symmetric
  • If this fails, the input is invalid.

Step 2 — Detect BGP Oscillation (Preference Cycle)

Definition

BGP oscillation exists if ASes form a preference cycle, often between peers.

Detection Rule

  1. Build a directed graph: ASN → preferred next-hop ASN
  2. If the graph contains a cycle, oscillation is possible
  3. A 2-node cycle is sufficient to conclude oscillation.

Example pseudocode:

pref = {asn: prefer_via_asn, ...}

def find_cycle(start):
    path = []
    seen = {}
    cur = start
    while cur in pref:
        if cur in seen:
            return path[seen[cur]:]  # cycle found
        seen[cur] = len(path)
        path.append(cur)
        cur = pref[cur]
    return None

Step 3 — Detect BGP Route Leak (Valley-Free Violation)

Valley-Free Rule

Learned from May export to
Customer Anyone
Peer Customers only
Provider Customers only

Leak Conditions

A route leak exists if either is true:

  1. Route learned from a provider is exported to a peer or provider
  2. Route learned from a peer is exported to a peer or provider

Fix Selection Logic (Ranked)

Tier 1 — Virtual WAN Routing Intent (Preferred)

Applies to:

  • ✔ Oscillation
  • ✔ Route leaks

Why it works:

  • Routing intent operates above BGP — BGP still learns routes, but does not decide forwarding
  • Forwarding becomes deterministic and policy-driven — Intent policy overrides BGP path selection
  • Decouples forwarding correctness from BGP stability — Even if BGP oscillates, forwarding is stable

For oscillation:

  • Breaks preference cycles by enforcing a single forwarding hierarchy
  • Even if both hubs prefer each other's routes, intent policy ensures traffic follows one path

For route leaks:

  • Prevents leaked peer routes from being used as transit
  • When intent mandates hub-to-hub traffic goes through Virtual WAN (ASN 65001), leaked routes cannot be used
  • Enforces valley-free routing by keeping provider routes in proper hierarchy

Agent reasoning: If routing intent is available, recommend it first.

Tier 2 — Export / Route Policy (Protocol-Correct)

For oscillation:

  • Filter routes learned from a peer before re-advertising — Removes one edge of the preference cycle
  • Why this works: In a cycle where Hub A prefers routes via Hub B and vice versa, filtering breaks one "leg":
    • If Hub A filters routes learned from Hub B before re-announcing, Hub B stops receiving routes via Hub A
    • Hub B can no longer prefer the path through Hub A because it no longer exists
    • The cycle collapses, routing stabilizes

Example: If vhubvnet1 (ASN 65002) filters routes learned from vhubvnet2 (ASN 65003) before re-advertising, vhubvnet2 stops receiving routes via vhubvnet1, breaking the oscillation cycle.

For route leaks:

  • Enforce valley-free export rules — Prevent announcing provider/peer-learned routes to peers/providers
  • Use communities (e.g., no-export) where applicable
  • Ingress filtering — Reject routes with invalid AS_PATH from peers
  • RPKI origin validation — Cryptographically rejects BGP announcements from ASes that are not authorized to originate a given prefix, preventing many accidental and sub-prefix leaks from propagating

Limitation: Does not control forwarding if multiple valid paths remain.

Tier 3 — User Defined Routes (UDR)

Applies to:

  • ✔ Oscillation
  • ✔ Route leaks

Purpose: Authoritative, static routing mechanism in Azure that explicitly defines the next hop for network traffic based on destination IP prefixes, overriding Azure system routes and BGP-learned routes.

Routing Behavior: Enforces deterministic forwarding independent of BGP decision processes. UDRs operate at the data plane layer and take precedence over dynamic BGP routes.

For oscillation:

  • Oscillation Neutralization — Breaks the impact of BGP preference cycles by imposing a fixed forwarding path
  • Even if vhubvnet1 and vhubvnet2 continue to flip-flop their route preferences, the UDR ensures traffic always goes to the same deterministic next hop

For route leaks:

  • Route Leak Mitigation — Overrides leaked BGP routes by changing the effective next hop
  • When a UDR specifies a next hop (e.g., prefer specific Virtual WAN hub), traffic cannot follow leaked peer routes even if BGP has learned them
  • Leaked Prefix Neutralization — UDR's explicit next hop supersedes the leaked route's next hop, preventing unauthorized transit

Use when:

  • Routing intent is unavailable
  • Immediate containment is required

Trade-off: UDR is a data-plane fix that "masks" the control-plane issue. BGP may continue to have problems, but forwarding is stabilized. Prefer policy fixes (routing intent, export controls) when available for cleaner architecture.

Prohibited Fixes (Must Be Rejected)

These solutions are always invalid:

Proposed Fix Reason
Disable BGP Not customer-controllable
Disable peering prohibited operation and cannot solve the issue
Shutdown gateways Breaks SLA / shared control plane
Restart devices Resets symptoms only

Required explanation:

Cloud providers separate policy control from connectivity existence to protect shared infrastructure and SLAs.

Why these are not allowed in Azure:

BGP sessions and peering connections in Azure (Virtual WAN, ExpressRoute, VPN Gateway) cannot be administratively shut down or disabled by customers. This is a fundamental architectural constraint:

  1. Shared control plane: BGP and peering are part of Azure's provider-managed, SLA-backed control plane that operates at cloud scale.
  2. Availability guarantees: Azure's connectivity SLAs depend on these sessions remaining active.
  3. Security boundaries: Customers control routing policy (what routes are advertised/accepted) but not the existence of BGP sessions themselves.
  4. Operational scale: Managing BGP session state for thousands of customers requires automation that manual shutdown would undermine.

Correct approach: Fix BGP issues through policy changes (route filters, preferences, export controls, communities) rather than disabling connectivity.

Common Pitfalls

  • Timer tuning or dampening fixes oscillation — False. These reduce symptoms but don't break preference cycles.
  • Accepting fewer prefixes prevents route leaks — False. Ingress filtering alone doesn't stop export of other leaked routes.
  • Removing peers is a valid mitigation — False. This is prohibited in Azure.
  • Restarting gateways fixes root cause — False. Only resets transient state.

All are false.

Output Expectations

A correct solution should:

  1. Identify oscillation and/or route leak correctly
  2. Explain why it occurs (preference cycle or valley-free violation)
  3. Recommend allowed policy-level fixes
  4. Explicitly reject prohibited fixes with reasoning

References

  • RFC 4271 — Border Gateway Protocol 4 (BGP-4)
  • Gao–Rexford model — Valley-free routing economics
安全使用建议
This skill is a reasoning/template tool: it analyzes JSON topology inputs and recommends policy fixes but does not apply changes to Azure. Before using: (1) verify input JSON accuracy (garbage in → incorrect recommendations), (2) do not paste secrets into the inputs or prompts, (3) if you want automated remediation, set up a least-privilege Azure service principal and treat those credentials carefully (this skill does not request or store them), and (4) validate any recommended policy changes in a staging environment before applying to production.
功能分析
Type: OpenClaw Skill Name: azure-bgp-oscillation-route-leak-azure-bgp Version: 0.1.0 The skill bundle contains technical instructions and reasoning logic for an AI agent to troubleshoot BGP oscillation and route leaks in Azure Virtual WAN environments. It defines valid detection methods (e.g., cycle detection, valley-free violations) and remediation strategies (Routing Intent, UDRs) while explicitly prohibiting destructive actions like disabling BGP sessions. The content is purely educational and functional for network analysis, with no evidence of malicious intent, data exfiltration, or harmful execution.
能力评估
Purpose & Capability
The skill's name/description match the SKILL.md: it describes detection of preference cycles, valley‑free violations, and recommending Azure-appropriate mitigations (routing intent, export policies, communities, UDRs, ingress filtering, RPKI). Nothing in the instructions requires unrelated resources or credentials.
Instruction Scope
Runtime instructions operate on user-supplied JSON inputs (topology.json, relationships.json, preferences.json, etc.), include pseudocode for cycle detection, and lay out decision logic and mitigation tiers. The SKILL.md does not instruct reading system files, accessing environment variables, calling external endpoints, or making changes in Azure — it focuses on analysis and recommendations only.
Install Mechanism
No install specification and no code files are present; this is instruction-only so nothing is downloaded or written to disk by the skill itself.
Credentials
The skill requires no environment variables or credentials (proportionate for a reasoning/analysis skill). Note: if a user expects automated remediation in Azure, additional credentials (Azure service principal or similar) would be required — those are not requested by this skill and would be an additional security consideration outside its current scope.
Persistence & Privilege
always is false and there are no install artifacts or persistent permissions requested. disable-model-invocation is false (normal); autonomous invocation is allowed by default but the skill itself does not grant extra system privileges or persistent presence.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install azure-bgp-oscillation-route-leak-azure-bgp
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /azure-bgp-oscillation-route-leak-azure-bgp 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Bulk publish from all-task-skills-dedup
元数据
Slug azure-bgp-oscillation-route-leak-azure-bgp
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

azure-bgp 是什么?

Analyze and resolve BGP oscillation and BGP route leaks in Azure Virtual WAN–style hub-and-spoke topologies (and similar cloud-managed BGP environments). Det... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 87 次。

如何安装 azure-bgp?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install azure-bgp-oscillation-route-leak-azure-bgp」即可一键安装,无需额外配置。

azure-bgp 是免费的吗?

是的,azure-bgp 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

azure-bgp 支持哪些平台?

azure-bgp 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 azure-bgp?

由 wu-uk(@wu-uk)开发并维护,当前版本 v0.1.0。

💬 留言讨论