From 88957530a3e174bfc61e8358cb2b28fd8f1fbbb6 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Wed, 6 May 2026 18:46:21 +0300 Subject: feat: import MyST swap mechanism + content for sagitta (replaces #1886) Replaces the broken #1886 with a fresh, properly-converted MyST set for the sagitta (1.4.x) docs, mirroring what landed for circinus via #1897. This PR: - Re-imports 210 md-*.md files for sagitta. Source: ran the pipelines rst-to-myst converter (chrisjsewell/rst-to-myst v0.4.0, with pandoc fallback) on sagittas RST. Post-processed via the pipelines postprocess stage (10 ordered fixes for blanks, admonitions, label hyphens, pandoc artifacts, structural blanks, linter markers). Compared to the broken #1886 content (which was left over from an earlier stage-1-only run): zero raw `
` remnants. - For 23 stems where sagittas RST is byte-identical with currents RST (mostly stable policy/protocol pages and the 404 page), reuses currents already-validated md-*.md content rather than re-converting. - Drops cli and installation/cloud/aws from sagittas swap set: their RST has SEVERE/4 "Title level inconsistent" errors that crash rst-to-myst; they need an independent RST-source fix and are kept as RST-only for now. - Adds the per-page swap mechanism: scripts/swap_sources.py, scripts/import_myst.py, the matching tests under tests/, _swap.txt with 210 stems, _ext/vyos.py MyST renderer fallback, Makefile swap-wrapped targets, .readthedocs.yml swap pre/post hooks. - Adds 187 .webp images and removes 235 superseded .jpg/.png/.jpeg static assets; flips html_logo to vyos-logo.webp. - Adds the MyST swap-related blocks to docs/conf.py only: myst_enable_extensions, myst_fence_as_directive, md-*.md exclude patterns, _swap_exclude.txt reader, _prefer_webp and _copy_md_sources setup hooks. github_version fallback set to 'sagitta' to match the branch (parallel to currents 'current' and circinuss 'circinus'). Deliberately excluded (per user direction): - llms.txt and sphinx-llms-txt / sphinx-sitemap config: these will land separately for sagitta via #1870 plus a new sagitta-specific llms.txt template PR. The conf.py here does not pull those extensions in, so the build does not depend on the new pip packages. Verification before pushing: - 210 md-*.md = 210 _swap.txt stems = 210 RST siblings on sagitta (1:1:1). - 0 files contain raw `
{{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip adjust-mss As Internet wide PMTU discovery rarely works, we sometimes need to clamp our @@ -6,16 +9,23 @@ a SYN packet. By setting the MSS value, you are telling the remote side unequivocally 'do not try to send me packets bigger than this value'. - .. note:: This command was introduced in VyOS 1.4 - it was previously called: - ``set firewall options interface adjust-mss `` + :::{note} + This command was introduced in VyOS 1.4 - it was previously called: - .. hint:: MSS value = MTU - 20 (IP header) - 20 (TCP header), resulting in - 1452 bytes on a 1492 byte MTU. + ``set firewall options interface adjust-mss `` + ::: + :::{hint} + MSS value = MTU - 20 (IP header) - 20 (TCP header), resulting in + 1452 bytes on a 1492 byte MTU. + ::: Instead of a numerical MSS value `clamp-mss-to-pmtu` can be used to automatically set the proper value. -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip arp-cache-timeout Once a neighbor has been found, the entry is considered to be valid for at @@ -30,7 +40,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip arp-cache-timeout 180 -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip disable-arp-filter If set the kernel can respond to arp requests with addresses from other @@ -53,7 +66,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip disable-arp-filter -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip disable-forwarding Configure interface-specific Host/Router behaviour. If set, the interface will @@ -63,7 +79,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip disable-forwarding -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip enable-directed-broadcast Define different modes for IP directed broadcast forwarding as described in @@ -79,7 +98,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-directed-broadcast -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip enable-arp-accept Define behavior for gratuitous ARP frames who's IP is not already present in @@ -95,7 +117,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-arp-accept -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip enable-arp-announce Define different restriction levels for announcing the local source IP address @@ -115,7 +140,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-arp-announce -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip enable-arp-ignore Define different modes for sending replies in response to received ARP @@ -131,7 +159,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-arp-ignore -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip enable-proxy-arp Use this command to enable proxy Address Resolution Protocol (ARP) on this @@ -147,7 +178,10 @@ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ip enable-proxy-arp -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip proxy-arp-pvlan Private VLAN proxy arp. Basically allow proxy arp replies back to the same @@ -159,8 +193,9 @@ possible to allow these hosts to communicate through the upstream router by proxy_arp'ing. - .. note:: Does not need to be used together with proxy_arp. - + :::{note} + Does not need to be used together with proxy_arp. + ::: This technology is known by different names: - In :rfc:`3069` it is called VLAN Aggregation @@ -171,7 +206,10 @@ - Ericsson call it MAC-Forced Forwarding (RFC Draft) -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} +::::{cfgcmd} set interfaces {{ var0 }} \ {{ var2 }} {{ var3 }} + +:::: + {{ var5 }} {{ var6 }} ip source-validation Enable policy for source validation by reversed path, as specified in -- cgit v1.2.3