Created
March 6, 2026 07:23
-
-
Save Strykar/a736bc5044be9cc3498c13e06b3a9cc1 to your computer and use it in GitHub Desktop.
Airtel WAN topology and Netfilter paths - Mermaid chart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| config: | |
| theme: neo-dark | |
| --- | |
| flowchart TB | |
| subgraph Header_Info["ISP A + B + C"] | |
| direction LR | |
| A_Biz["<b>ISP-A Airtel</b><br>GPON FTTH Static IPv4"] | |
| B_Biz["<b>ISP-B Purple</b><br>GPON FTTH Static IPv4 Bridge"] | |
| C_Biz["<b>ISP-C Airtel</b><br>5G / LTE Android"] | |
| end | |
| subgraph PPPoE_A["PPPoE Tunnel: pppoe-out1"] | |
| A_IPv4["Dynamic IPv4 / CGNAT: 122.100.10.10"] | |
| A_IPv6["IPv6 DHCPv6 Prefix Delegation: 2001:470:35:80c::/64"] | |
| end | |
| subgraph V100_Inside["VLAN encapsulation"] | |
| A_L1["Static IP / IPoE: 182.100.10.10"] | |
| PPPoE_A | |
| end | |
| subgraph ISP_A_Stack["ISP A: Nested Encapsulation"] | |
| V100["VLAN 100 tag"] | |
| V100_Inside | |
| end | |
| subgraph PPPoE_B["PPPoE-Tunnel: pppoe-out2"] | |
| B_L1["Static IPv4 / IPCP: 160.100.10.10"] | |
| end | |
| subgraph RB5009["MikroTik RB5009 router"] | |
| direction TB | |
| SFP["SFP+1: HSGQ ONU SFP"] | |
| E4["Ether4: RJ45"] | |
| USB["USB Port: Tether"] | |
| ISP_A_Stack | |
| PPPoE_B | |
| C_L1["NAT: 192.168.100.10"] | |
| Bridge["Bridge / LAN"] | |
| end | |
| subgraph Presentation_View["Multi-WAN Overview"] | |
| direction TB | |
| Header_Info | |
| RB5009 | |
| end | |
| A_Biz --> SFP | |
| SFP -- MTU 1500 --> V100 | |
| V100 --> A_L1 | |
| A_L1 -- Encapsulation --> PPPoE_A | |
| B_Biz --> E4 | |
| E4 -- MTU 1500 --> PPPoE_B | |
| C_Biz --> USB | |
| USB -- MTU 1500 --> C_L1 | |
| A_L1 -- MTU 1500 --> Bridge | |
| A_IPv4 -- MTU 1480 --> Bridge | |
| A_IPv6 -- MTU 1480 --> Bridge | |
| B_L1 -- MTU 1480 --> Bridge | |
| C_L1 -- MTU 1500 --> Bridge | |
| A_Biz:::Business_Box | |
| B_Biz:::Business_Box | |
| C_Biz:::Business_Box | |
| A_IPv4:::Tunnel_Path | |
| A_IPv6:::IPv6_Path | |
| A_L1:::Tunnel_Path | |
| PPPoE_A:::Nest_L3 | |
| V100:::VLAN_Frame | |
| B_L1:::Tunnel_Path | |
| SFP:::Hardware_Box | |
| E4:::Hardware_Box | |
| USB:::Hardware_Box | |
| PPPoE_B:::Dark_BG | |
| C_L1:::Tunnel_Path | |
| Bridge:::Hardware_Box | |
| classDef Tunnel_Path fill:#66bb6a,stroke:#1b5e20,stroke-width:2px,color:#fff | |
| classDef IPv6_Path fill:#42a5f5,stroke:#0d47a1,stroke-width:2px,color:#fff | |
| classDef VLAN_Frame fill:#455a64,stroke:#cfd8dc,stroke-width:2px,stroke-dasharray: 5 5,color:#fff | |
| classDef Hardware_Box fill:#37474f,stroke:#90a4ae,stroke-width:1px,color:#fff | |
| classDef Business_Box fill:#263238,stroke:#00e5ff,stroke-width:1px,stroke-dasharray: 2 2,color:#00e5ff | |
| classDef Dark_BG fill:#102027,stroke:#37474f,stroke-width:2px,color:#fff | |
| classDef Nest_L1 fill:#263238,stroke:#455a64,stroke-width:1px,fill:#263238,stroke:#455a64,stroke-width:1px | |
| classDef Nest_L2 fill:#37474f,stroke:#455a64,stroke-width:1px | |
| classDef Nest_L3 fill:#455a64,stroke:#546e7a,stroke-width:1px | |
| style PPPoE_A color:#fff | |
| style V100_Inside color:#fff | |
| style ISP_A_Stack color:none | |
| linkStyle 0 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 1 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 2 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 3 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 4 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 5 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 6 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 7 stroke:#78909c,stroke-width:2px,fill:none | |
| linkStyle 8 stroke:#00bcd4,stroke-width:4px,fill:none | |
| linkStyle 9 stroke:#ffeb3b,stroke-width:4px,fill:none | |
| linkStyle 10 stroke:#42a5f5,stroke-width:4px,fill:none | |
| linkStyle 11 stroke:#f44336,stroke-width:4px,fill:none | |
| linkStyle 12 stroke:#9c27b0,stroke-width:4px,fill:none |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| graph TD | |
| %% ENTRY | |
| LAN[LAN Clients] --> WANIN[WAN Interfaces<br/>vlan100<br/>pppoe-out1<br/>pppoe-out2<br/>lte1] | |
| %% FIREWALL PIPELINE | |
| WANIN --> RAW[RAW Table<br/>early drop] | |
| RAW --> CONNTRACK[Connection Tracking<br/>Kernel state engine] | |
| %% MANGLE | |
| CONNTRACK --> MANGLE[Mangle PREROUTING<br/>PCC / DSCP / Routing Marks] | |
| %% ROUTING | |
| MANGLE --> ROUTE[Routing Decision<br/>main / policy tables] | |
| %% FASTTRACK | |
| ROUTE --> FASTTRACK{FastTrack?} | |
| FASTTRACK -- yes --> FASTPATH[Fast Path<br/>skip firewall] | |
| FASTTRACK -- no --> SLOWPATH[Slow Path<br/>traverse firewall] | |
| FASTPATH --> NAT | |
| SLOWPATH --> NAT | |
| %% POSTROUTING | |
| NAT[NAT srcnat / masquerade] --> POSTMANGLE[Mangle POSTROUTING] | |
| %% QUEUES | |
| POSTMANGLE --> QUEUE[Interface Queues<br/>CAKE / Queue Trees] | |
| %% WAN EGRESS | |
| QUEUE --> WAN1[ISP-A<br/>SFP+ VLAN100] | |
| QUEUE --> WAN2[ISP-B<br/>Ether4 PPPoE] | |
| QUEUE --> WAN3[ISP-C<br/>USB LTE] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment