<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>
    Posts on ForwardingPlane.net
    
    </title>
    <link>https://forwardingplane.net/post/</link>
    <description>Recent content 
    
    in Posts on ForwardingPlane.net
    </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
    
    <copyright>Copyright (c) 2025, all rights reserved.</copyright>
    <lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate>
    
    
        <atom:link href="https://forwardingplane.net/post/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>IPB 207 - Flying Blind: Monitoring Might Not See IPv6</title>
      <link>https://forwardingplane.net/post/2026-09-03-ipv6buzz-207/</link>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-09-03-ipv6buzz-207/</guid>
      <description>&lt;p&gt;Is your current network monitoring infrastructure capable of seeing IPv6 traffic or are you flying blind in a dual-stack environment? Today Ed, Nick, and Tom explore the critical challenges surrounding IPv6 visibility such as the limitations of vendor tools and the complexities of maintaining observability as networks evolve.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=76358-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb207-flying-blind-monitoring-might-not-see-ipv6/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB207: Flying Blind: Monitoring Might Not See IPv6&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 206 - Do IPv6 Mandates Work?</title>
      <link>https://forwardingplane.net/post/2026-08-20-ipv6buzz-206/</link>
      <pubDate>Thu, 20 Aug 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-08-20-ipv6buzz-206/</guid>
      <description>&lt;p&gt;Nick Buraglio and Tom Coffeen discuss a Reddit post that had what appeared to be new federal guidance on IPv6 adoption. While it seems the timelines and guidelines haven&amp;rsquo;t changed, the post raises questions about the effectiveness of mandates in driving IPv6 adoption. They posit that enabling IPv6 is not just a technical requirement but a strategic necessity for future-proofing infrastructure as organizations adopt zero trust and AI.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=76143-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb206-do-ipv6-mandates-work/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB206: Do IPv6 Mandates Work?&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.reddit.com/r/ipv6/comments/1vm4cff/september_deadline_looms_as_us_federal_government/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;September Deadline Looms as U.S. Federal Government Pushes Toward 60% IPv6 Deployment&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.gsa.gov/directives-library/internet-protocol-version-6-ipv6-policy-1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Internet Protocol Version 6 (IPv6) Policy&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://eonsr.com/en/beyond-the-legacy-trap-why-ipv6-only-is-the-inevitable-future-of-vietnams-internet/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Beyond the legacy trap: why IPv6 only is the inevitable future of Vietnam&amp;rsquo;s internet&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-v6ops-6mops/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPv6-mostly Networks: Deployment and Operations Considerations&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 205 - Moving to Disable IPv4</title>
      <link>https://forwardingplane.net/post/2026-08-06-ipv6buzz-205/</link>
      <pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-08-06-ipv6buzz-205/</guid>
      <description>&lt;p&gt;Franck Martin returns to the show to discuss the practical challenges of retiring IPv4 with hosts Ed, Nick, and Tom. Together they break down key strategies, how to work effectively with vendors, and how to mitigate potential outages during the transition. They also explore the cultural shifts necessary for successful IPv6 adoption and the importance of engaging security teams early in the process.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=75992-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb205-moving-to-disable-ipv4/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB205: Moving to Disable IPv4&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.peachymango.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;PeachyMango&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/posts/franckmartin_github-franckhlmartinietf-draft-retry-over-ipv6-activity-7467994916640628736-16G_/?utm_source=social_share_send&amp;amp;utm_medium=member_desktop_web&amp;amp;rcm=ACoAAAABUGgBixVsJsFQapoInJu9uVSrvn0_R1Y&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Franck Martin&amp;rsquo;s LinkedIn Post&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-martin-retry-over-ipv6/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;HTTP Signaling of Planned IPv4 Unavailability&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-martin-deploying-ipv6-data-center/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Deploying IPv6 in Data Centers&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.patreon.com/franckmartin/posts/ipv6-in-lessons-159595711&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPv6 in the Enterprise: Lessons from the Trenches&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>piccolo-perf - a perfSONAR-lite for routers and SBCs</title>
      <link>https://forwardingplane.net/post/2026-08-02-piccolo-perf/</link>
      <pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-08-02-piccolo-perf/</guid>
      <description>&lt;p&gt;I have a soft spot for &lt;a href=&#34;https://www.perfsonar.net&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;perfSONAR&lt;/a&gt; . It&amp;rsquo;s the gold standard for research and education network performance measurement, and if you run a network that touches ESnet, Internet2, or any of the big R&amp;amp;E backbones, you&amp;rsquo;ve probably got a perfSONAR node (or ten) somewhere. The problem is that perfSONAR is heavy. It wants a full OS, a stack of services, and real resources. That&amp;rsquo;s fine for a dedicated measurement box and that has served perfSonar well for 20 years, but it&amp;rsquo;s a non-starter for a router, a Raspberry Pi at a remote site, or anything else you&amp;rsquo;d call &amp;ldquo;constrained.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That gap is exactly what &lt;a href=&#34;https://github.com/retecolo/piccolo-perf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;piccolo-perf&lt;/a&gt;  is going after. It&amp;rsquo;s a single static Go binary, no runtime dependencies, that gives you TWAMP-Light, TCP bandwidth, traceroute, MTU discovery, and DNS latency measurements, plus an agent mode that turns a fleet of these into a lightweight distributed mesh - InfluxDB and Prometheus included. Dual stack throughout, which matters to me more than it probably should. Honestly, I have been working on this for 15+ years, from trying to run OWAMP on a rpi1, to helping distribute mac minis for perfSonar tools into campuses, to even running lightweight versions of the toolkit on actual L3 switchines in the early days of virtualized NOSs&#39;. This project has been a labor of love and with my recent endeavor to teach myself golang, I thought &amp;ldquo;why not give it a try with this&amp;rdquo;? The results are surprisingly useful.&lt;/p&gt;
&lt;p&gt;The measurement set:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;twamp&lt;/strong&gt; - RTT, jitter, and packet loss via TWAMP-Light (RFC 5357 §5). No TCP control session, pure UDP test packets, so it&amp;rsquo;s cheap to run and interoperable with other TWAMP-Light endpoints.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bw&lt;/strong&gt; - TCP throughput, either a native Go implementation or iperf3 if it&amp;rsquo;s present on the box.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;trace&lt;/strong&gt; - per-hop RTT and path topology via ICMP TTL/HopLimit probing, IPv4 and IPv6.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mtu&lt;/strong&gt; - effective path MTU via ICMP binary search (DF-bit on v4, Packet Too Big on v6). Useful for finding where a WireGuard tunnel or a double-encapsulated path quietly knocked your MTU down - very common in managed-service-paths.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns&lt;/strong&gt; - A successor to &lt;a href=&#34;https://dns.qosbox.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DNS test&lt;/a&gt;  resolver latency and success rate, independent of the system resolver.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;agent&lt;/strong&gt; - runs all of the above on a schedule, reflects TWAMP for peers, and ships results to InfluxDB and/or exposes them as Prometheus metrics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anything that needs raw sockets (mtu, trace) degrades gracefully without &lt;code&gt;CAP_NET_RAW&lt;/code&gt; rather than failing outright - it just reports &lt;code&gt;skipped=true&lt;/code&gt;. That&amp;rsquo;s a small detail, but it&amp;rsquo;s the kind of thing that tells you someone has actually run this on a box they don&amp;rsquo;t have root on. I&amp;rsquo;d be open to better ways to handle that.&lt;/p&gt;
&lt;p&gt;Getting it running is a one-liner:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;/bin/sh -c &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/retecolo/piccolo-perf/main/install.sh&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and a one-shot test looks like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;piccolo-perf twamp -mode client -server 2001:db8::1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[TWAMP-Light-Client] Starting TWAMP-Light test to 2001:db8::1 (count=10 interval=1s timeout=5s padding=0)
[TWAMP-Light-Client] seq=1 RTT=0.823ms
...
[TWAMP-Light-Client] === TWAMP-Light Test Statistics ===
[TWAMP-Light-Client] Packets sent:     10
[TWAMP-Light-Client] Packets received: 10
[TWAMP-Light-Client] Packet loss:      0.0%
[TWAMP-Light-Client] RTT min/avg/max:  0.778 / 0.812 / 0.857 ms
[TWAMP-Light-Client] Mean jitter:      0.018 ms
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The part I find more interesting than the one-shot CLI use is agent mode, and this harkens back to the inspiration for this peoject, perfSonar. Point a handful of hosts at a config server serving a JSON topology file, and each host stands up a TWAMP reflector, a bandwidth sink, and per-measurement schedulers, then pushes results upstream:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;┌─────────────────────────────────────────┐
│            Each Probe Host              │
│  piccolo-perf agent                     │
│  ├── TWAMP-Light reflector (UDP)        │
│  ├── BwServer (TCP sink, port 5201)     │
│  ├── Per-measurement schedulers         │
│  ├── Config poller (HTTP, live-reload)  │
│  ├── InfluxDB writer                    │
│  ├── Prometheus /metrics                │
│  └── Local JSONL resilience store       │
└──────────┬──────────────────┬───────────┘
           │ pull config      │ push metrics
           ▼                  ▼
  ┌──────────────┐    ┌──────────────┐
  │ Config Server│    │   InfluxDB   │◀─── Grafana
  └──────────────┘    │  Prometheus  │
                       └──────────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Topology can be full mesh (every host probes every other host) or hub-and-spoke, which is the more realistic shape for most of us - a handful of spokes reporting back to a hub instead of an N² mesh. There&amp;rsquo;s also a local JSONL ring buffer for intermittently-connected edge devices, so a probe that loses its uplink keeps measuring and replays results once connectivity comes back instead of just dropping data on the floor.&lt;/p&gt;
&lt;h2 id=&#34;where-this-actually-fits&#34;&gt;Where this actually fits&lt;/h2&gt; &lt;p&gt;A few use cases jump out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IPv6 test pods and lab networks.&lt;/strong&gt; If you listened to &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb173-the-ipv6-test-pod-project/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB173&lt;/a&gt;  or any of the recent IPv6 Buzz episodes on lab builds, this is a natural fit for exactly that kind of environment - dual-stack RTT, jitter, and MTU measurement without standing up a perfSONAR node for every pod. Hey James, lets test this out =)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CPE and branch office monitoring.&lt;/strong&gt; Since it compiles to a static binary across amd64, arm64, arm, mips, ppc64le, and riscv64, it&amp;rsquo;ll run on the kind of small router or SBC that lives at a remote site where you have no business installing a full measurement stack.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VPN and tunnel path MTU troubleshooting.&lt;/strong&gt; The mtu subcommand&amp;rsquo;s binary search is a fast way to confirm whether a WireGuard or other tunnel is silently truncating your effective MTU, without reaching for tcpdump and doing the math by hand.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A perfSONAR-adjacent mesh on a budget.&lt;/strong&gt; Agent mode with hub-and-spoke topology and Grafana on top gets you a reasonable approximation of a perfSONAR mesh dashboard for a fraction of the deployment overhead, which is appealing if you want visibility into a network that doesn&amp;rsquo;t justify (or fit) the full perfSONAR toolkit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s early days for the project, but the design choices - graceful degradation without root, IPv6 treated as a first-class citizen rather than an afterthought, and a resilience store for flaky links - suggest someone building this against real constraints rather than a whiteboard. Worth a look if smokeping and perfSONAR are two ends of a spectrum you&amp;rsquo;ve been missing the middle of.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 204 - Tayga and IPv6 Translation</title>
      <link>https://forwardingplane.net/post/2026-07-23-ipv6buzz-204/</link>
      <pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-07-23-ipv6buzz-204/</guid>
      <description>&lt;p&gt;Andrew Palardy joins the hosts to discuss how Tayga, the open-source NAT64 daemon for Linux, is being updated to ensure it is up to date with all the current RFCs. The discussion covers RFC compliance updates and UDP checksum fixes for resolving connectivity problems, plus new eBPF CLAT support arriving in NetworkManager to provide automatic CLAT functionality.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=75821-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb204-tayga-and-ipv6-translation/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB204: Tayga and IPv6 Translation&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/apalrd/tayga&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tayga (GitHub)&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/c/apalrdsadventures&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Andrew Palardy on YouTube&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://apalrd.net/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Andrew Palardy&amp;rsquo;s Website&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPv6 - Why You Should Care</title>
      <link>https://forwardingplane.net/post/2026-07-22-ipv6-why-care/</link>
      <pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-07-22-ipv6-why-care/</guid>
      <description>&lt;p&gt;I had the opportunity to speak at the &lt;a href=&#34;https://chinog.org/chi-nog-13/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Chicago Network Operators Group&lt;/a&gt;  conference for CHI-NOG 13. As one may imagine, I talked about IPv6, and why folks should care. Now, you&amp;rsquo;re probably thinking &amp;ldquo;yeah, yeah, IPv6 has been &lt;code&gt;almost here&lt;/code&gt; for 20 years&amp;rdquo;, and I&amp;rsquo;d move along and not try to convince you otherwise. However, this talk was slightly different - the whole point was to acknoledge that yes, it&amp;rsquo;s taking a long time. Yes, enterprises are the long pole in the tent. But no, it&amp;rsquo;s not &lt;code&gt;almost here&lt;/code&gt;. It&amp;rsquo;a already here, and it&amp;rsquo;s been here for a decade. Where it isn&amp;rsquo;t is in the enterprise - and that&amp;rsquo;s not really a surprise. the talk was very well received, garnering probably the most flattering write up of any talk I have ever given, and by a highly technical author that was in the front row of the talk. you can read that &lt;a href=&#34;https://routerjockey.com/buraglio-ipv6-why-you-should-care-chi-nog-13/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt; , which I highly encourage you to do.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re interested, the talk is &lt;a href=&#34;https://www.youtube.com/watch?v=dWO-bgcoU1s&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;available on youtube&lt;/a&gt; . It&amp;rsquo;s 30 minutes and I would argue that it makes a pretty compelling argument, if i do say so myself =)&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/dWO-bgcoU1s?si=69Sa8jO7Ya6mCC8V&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;</description>
    </item>
    
    <item>
      <title>IPB 203 - The Death of NAT</title>
      <link>https://forwardingplane.net/post/2026-06-25-ipv6buzz-203/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-06-25-ipv6buzz-203/</guid>
      <description>&lt;p&gt;Network Address Translation (NAT), a foundational element of IPv4, faces critical reassessment as IPv6 deployment shifts the landscape. Ed and Tom evaluate the evolving role of NAT, questioning whether traditional translation models remain necessary when stateful packet inspection offers more robust, transparent security solutions.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=75618-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb203-the-death-of-nat/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB203: The Death of NAT&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://youtu.be/v26BAlfWBm8?si=PX_KlbOxmzKGTrRi&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Fanboy&amp;rdquo; series – IPv6 and NATs&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 202 - How to Get Hands-On IPv6 Deployment Experience</title>
      <link>https://forwardingplane.net/post/2026-06-11-ipv6buzz-202/</link>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-06-11-ipv6buzz-202/</guid>
      <description>&lt;p&gt;The episode explores gaining practical IPv6 experience through hands-on deployment. Guest John Osmon discusses setting up a personal IPv6 lab environment, including low-cost home lab options and how this experience has increased his confidence in tackling IPv6 projects.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=75465-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb202-how-to-get-hands-on-ipv6-deployment-experience/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB202: How to Get Hands-On IPv6 Deployment Experience&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.miscreantsinaction.com/2026/03/where-in-contract-does-it-say-you-cant.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Where in the contract does it say you can&amp;rsquo;t NAT IPv6?&amp;quot;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.miscreantsinaction.com/2025/09/so-you-want-to-try-ipv6.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;So, you want to try IPv6?&amp;quot;&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 201 - The Never-Ending Prefix Debate: Revisiting Best Current Practices</title>
      <link>https://forwardingplane.net/post/2026-05-28-ipv6buzz-201/</link>
      <pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-05-28-ipv6buzz-201/</guid>
      <description>&lt;p&gt;Today&amp;rsquo;s conversation centers around a new Best Current Practices (BCP) RFC draft written by Jordi Palet Martinez. Our hosts explore the document for service providers and enterprises, including prefix sizing for point-to-point links, the pros and cons of numbering choices, and best practices for prefix pool allocation.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=75291-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb201-the-never-ending-prefix-debate-revisiting-best-current-practices/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB201: The Never-Ending Prefix Debate: Revisiting Best Current Practices&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-v6ops-prefix-to-end-sites/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPv6 Prefix Assignment to End-Sites&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 200 - Yes, IPv6 Is Complicated. IPv8 Won&#39;t Help</title>
      <link>https://forwardingplane.net/post/2026-05-14-ipv6buzz-200/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-05-14-ipv6buzz-200/</guid>
      <description>&lt;p&gt;Why is IPv6 so much more complicated than IPv4? Could a newer version such as IPv8 be the solution? Guest Brian Carpenter joins our hosts to explain that many of IPv6&amp;rsquo;s complications are mathematical necessities. They point out that IPv6 has a 30 year head start on any IPv8 proposal that would struggle with many of the same issues. They also discuss features like automatic address configuration and the slow but inevitable global adoption of IPv6.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=75132-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb200-yes-ipv6-is-complicated-ipv8-wont-help/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB200: Yes, IPv6 Is Complicated. IPv8 Won&amp;rsquo;t Help&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/becarpenter/misc/blob/main/why6why.md&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Why is IPv6 so complicated?&amp;quot;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/becarpenter/book6/tree/main&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Book6 – An open source book on IPv6&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 199 - Developing IPv6-Friendly Code</title>
      <link>https://forwardingplane.net/post/2026-04-30-ipv6buzz-199/</link>
      <pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-04-30-ipv6buzz-199/</guid>
      <description>&lt;p&gt;Tom Coffeen and Nick Buraglio welcome Fern Cummings to talk about developing code for IPv6. Fern argues that moving to IPv6 restores end-to-end connectivity, which reduces complexity for developers without the need for &amp;ldquo;ridiculous hacks&amp;rdquo; caused by IPv4 NAT. The discussion offers practical advice on avoiding common developer traps, and covers financial benefits such as reduced logging costs and improved security.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=74970-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb199-developing-ipv6-friendly-code/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB199: Developing IPv6-Friendly Code&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 198 - IPv6 Privacy and Temporary Addresses</title>
      <link>https://forwardingplane.net/post/2026-04-16-ipv6buzz-198/</link>
      <pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-04-16-ipv6buzz-198/</guid>
      <description>&lt;p&gt;Today our hosts discuss IPv6 Privacy and Temporary Addresses to clarify how address provisioning can potentially work for host operating systems. The discussion covers the difference between permanent and temporary privacy addresses, their uses, and how interface identifiers are assigned to hosts.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=74783-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb198-ipv6-privacy-and-temporary-addresses/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB198: IPv6 Privacy and Temporary Addresses&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 197 - SLAAC and the End of DHCP?</title>
      <link>https://forwardingplane.net/post/2026-04-02-ipv6buzz-197/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-04-02-ipv6buzz-197/</guid>
      <description>&lt;p&gt;Today our hosts discuss the essential role of Stateless Address Autoconfiguration (SLAAC) in successfully deploying an IPv6-mostly network. SLAAC is required to assign a unique IPv6 address to the Customer-side Translator (CLAT), which allows devices to operate on IPv6. However, enterprise operators might prefer using DHCPv6 for network tracking and accountability, potentially trapping them in complex dual-stack environments.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=74600-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb197-slaac-and-the-end-of-dhcp/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB197: SLAAC and the End of DHCP?&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/rfc9686/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RFC 9686: Registering Self-Generated IPv6 Addresses Using DHCPv6&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>IPB 196 - Is End-to-End Connectivity the Right Goal?</title>
      <link>https://forwardingplane.net/post/2026-03-19-ipv6buzz-196/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-03-19-ipv6buzz-196/</guid>
      <description>&lt;p&gt;One of the early design principles of the Internet was end-to-end connectivity: that is, every device on the Internet would be publicly addressable, and every device could share its resources or provide services. The hosts examine whether this foundational principle remains realistic for IPv6, discussing its historical erosion in IPv4 and the IETF&amp;rsquo;s continued adherence to it.&lt;/p&gt;
&lt;p&gt;Have a listen:&lt;/p&gt;
&lt;iframe width=&#34;320&#34; height=&#34;30&#34; src=&#34;https://packetpushers.net/?powerpress_embed=74394-podcast&amp;amp;powerpress_player=mediaelement-audio&#34; title=&#34;Blubrry Podcast Player&#34; frameborder=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;Podcast link: &lt;a href=&#34;https://packetpushers.net/podcasts/ipv6-buzz/ipb196-is-end-to-end-connectivity-the-right-goal/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IPB196: Is End-to-End Connectivity the Right Goal?&lt;/a&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Linkwarden with docker compose and nginx proxy manager</title>
      <link>https://forwardingplane.net/post/2026-03-12-self-host-linkwarden-docker-compose/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://forwardingplane.net/post/2026-03-12-self-host-linkwarden-docker-compose/</guid>
      <description>&lt;p&gt;[Linkwarden(https://github.com/linkwarden/linkwarden) is a tool for better managing bookmarks. If you&amp;rsquo;re nything like me, you keep 1000 browser tabs open across a series of profiles, with full intention of revisiting them later, and then never do. A colleague shpoed me linkwarden and I was interested straight away. I did have a few hangups, however:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I don&amp;rsquo;t want to rely on a cloud service if I don&amp;rsquo;t have to&lt;/li&gt;
&lt;li&gt;I prefer to control my own content&lt;/li&gt;
&lt;li&gt;I am not a big fan of docker, which is required for self hosting&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I got over the docker hangup since it wasn&amp;rsquo;t really an option to do any other way and got straight to it. Very quickly I ran into the near-universal issues I have with docker:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;poor understanding or lack of attention of networking by the developers (this needs to run over IPv6 for me to use it)&lt;/li&gt;
&lt;li&gt;spotty documentation for running this securely via a SSL enabled web service&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As I have done with other services that require docker, I went to nginx proxy manager. This container is a nice front end for proxying services via SSL / NGINX, and is far easier to wrestle than something like Traefik.&lt;/p&gt;
&lt;p&gt;After much fighting of the docker compose file I ended up with this, which works.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;services:
  postgres:
    image: postgres:16-alpine
    env_file: .env
    restart: always
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    networks:
      - linkwarden-network
  linkwarden:
    env_file: .env
    environment:
      - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
    restart: always
    # build: . # uncomment to build from source
    image: ghcr.io/linkwarden/linkwarden:latest # comment to build from source
    ports:
      - 3000:3000
    volumes:
      - ./data:/data/data
    depends_on:
      - postgres
      - meilisearch
    networks:
      - linkwarden-network
  meilisearch:
    image: getmeili/meilisearch:v1.12.8
    restart: always
    env_file:
      - .env
    networks:
      - linkwarden-network
    volumes:
      - ./meili_data:/meili_data
  nginx-proxy-manager:
    image: jc21/nginx-proxy-manager:latest
    container_name: npm
    ports:
      - &amp;quot;81:81&amp;quot;    # Admin interface
      - &amp;quot;80:80&amp;quot;    # HTTP
      - &amp;quot;443:443&amp;quot;  # HTTPS
    volumes:
      - ./npm/data:/data
      - ./npm/letsencrypt:/etc/letsencrypt
    networks:
      - linkwarden-network
networks:
  linkwarden-network:
    driver: bridge
    enable_ipv6: true
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This configuration will work with NPM front ending the https pieces, and will also work behind cloudflare. You&amp;rsquo;ll need to find the address of the container to put into the NPM proxy manager. This can be found with the following command:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo docker inspect &amp;lt;container ID&amp;gt; | grep IP&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The output should look similar to&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;buraglio@dockhost1:/opt/linkwarden$ sudo docker inspect af8e7a6c4edd | grep IP
                &amp;quot;RSS_SUBSCRIPTION_LIMIT_PER_USER=&amp;quot;,
                &amp;quot;PIPEDRIVE_CUSTOM_NAME=&amp;quot;,
                &amp;quot;NEXT_PUBLIC_PIPEDRIVE_ENABLED=&amp;quot;,
                &amp;quot;PIPEDRIVE_CLIENT_ID=&amp;quot;,
                &amp;quot;PIPEDRIVE_CLIENT_SECRET=&amp;quot;,
                    &amp;quot;IPAMConfig&amp;quot;: null,
                    &amp;quot;IPAddress&amp;quot;: &amp;quot;172.19.0.4&amp;quot;,
                    &amp;quot;IPPrefixLen&amp;quot;: 16,
                    &amp;quot;IPv6Gateway&amp;quot;: &amp;quot;fd64:b2a0:6eac:1::1&amp;quot;,
                    &amp;quot;GlobalIPv6Address&amp;quot;: &amp;quot;fd64:b2a0:6eac:1::4&amp;quot;,
                    &amp;quot;GlobalIPv6PrefixLen&amp;quot;: 64,
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;for anyone who would rather not deal with this amount of complexity, linkwarden has a &lt;a href=&#34;https://linkwarden.app/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;very reasonable hosted option&lt;/a&gt; .&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
