<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Intermittent IPv6 connectivity in IPv6 Trial</title>
    <link>https://community.plus.net/t5/IPv6-Trial/Intermittent-IPv6-connectivity/m-p/2047248#M3793</link>
    <description>&lt;P&gt;My IPv6 connectivity is dropping out each time the PPPoE connection drops or is reset. To be clear, IPv6 does work but I am regularly seeing the following faults.&lt;/P&gt;
&lt;P&gt;I see two different symptoms:&lt;/P&gt;
&lt;P&gt;1. Sometimes the /56 prefix is not allocated via DHCPv6, and the router tells me that all of the IPv6 pools are missing.&amp;nbsp; Simply disabling, waiting 5 seconds and then re-enabling the PPPoE interface is usually sufficient to fix this.&amp;nbsp; This has happened 3 times now.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Almost every time the PPPoE connection resets and comes back up (and the pools allocate correctly), IPv6 still does not work.&amp;nbsp; This has happened lots of times now.&amp;nbsp; In this state I see:&lt;/P&gt;
&lt;P&gt;- IPv6 addresses allocated to the clients correctly&lt;/P&gt;
&lt;P&gt;- IPv6 traffic showing on the firewall connections monitoring tab&lt;/P&gt;
&lt;P&gt;- TCP connections showing "syn-sent".&amp;nbsp; But never "established".&lt;/P&gt;
&lt;P&gt;- IPv6 web test page shows "IPv4 only".&lt;/P&gt;
&lt;P&gt;- Monitoring (Torch) on the PPPoE shows outbound packets but never any replies.&lt;/P&gt;
&lt;P&gt;Sometimes disabling and re-enabling the PPPoE fixes it, quite often not.&amp;nbsp; Sometimes disabling the "add default route" and then disabling, reenabling the PPPoE and then finally reenabling "add default route" fixes it.&amp;nbsp; Sometimes not.&amp;nbsp; Repeating these, and eventually it comes back up and "just works".&amp;nbsp; But if left alone, it appears to stay broken.&lt;/P&gt;
&lt;P&gt;Once I have got the Plusnet IPv6 working, it appears to stay up, no issues, until the next time the WAN link drops or resets.&lt;/P&gt;
&lt;P&gt;Some additional information that may be relevant:&lt;/P&gt;
&lt;P&gt;Current hardware: Mikrotik RB5009.&amp;nbsp; Fully up to date on the firmware.&amp;nbsp; I cannot see anything being blocked or denied on the WAN link.&amp;nbsp; I have added the "clamp to pmtu" fix noted in this forum (no change, I dont think I was suffering this issue anyway).&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also suffered from the same loss of connectivity on the previous UniFi UCG Ultra, including after being factory reset.&amp;nbsp; So I dont think this is Mikrotik specific.&amp;nbsp; Or configuration specific seems how it also fails "out of the box".&lt;/P&gt;
&lt;P&gt;I also have a HE IPv6 tunnel that I need to keep for various reasons.&amp;nbsp; It never drops.&amp;nbsp; (I am using some source routing to direct the subnet to the tunnel.&amp;nbsp; I do not mix plusnet or HE IPv6 on the same VLAN.).&lt;/P&gt;
&lt;P&gt;IPv4 connectivity never drops.&amp;nbsp; That appears as rock solid as always.&lt;/P&gt;
&lt;P&gt;Any suggestions or advice from anyone?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 28 May 2026 10:27:39 GMT</pubDate>
    <dc:creator>wmh</dc:creator>
    <dc:date>2026-05-28T10:27:39Z</dc:date>
    <item>
      <title>Intermittent IPv6 connectivity</title>
      <link>https://community.plus.net/t5/IPv6-Trial/Intermittent-IPv6-connectivity/m-p/2047248#M3793</link>
      <description>&lt;P&gt;My IPv6 connectivity is dropping out each time the PPPoE connection drops or is reset. To be clear, IPv6 does work but I am regularly seeing the following faults.&lt;/P&gt;
&lt;P&gt;I see two different symptoms:&lt;/P&gt;
&lt;P&gt;1. Sometimes the /56 prefix is not allocated via DHCPv6, and the router tells me that all of the IPv6 pools are missing.&amp;nbsp; Simply disabling, waiting 5 seconds and then re-enabling the PPPoE interface is usually sufficient to fix this.&amp;nbsp; This has happened 3 times now.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Almost every time the PPPoE connection resets and comes back up (and the pools allocate correctly), IPv6 still does not work.&amp;nbsp; This has happened lots of times now.&amp;nbsp; In this state I see:&lt;/P&gt;
&lt;P&gt;- IPv6 addresses allocated to the clients correctly&lt;/P&gt;
&lt;P&gt;- IPv6 traffic showing on the firewall connections monitoring tab&lt;/P&gt;
&lt;P&gt;- TCP connections showing "syn-sent".&amp;nbsp; But never "established".&lt;/P&gt;
&lt;P&gt;- IPv6 web test page shows "IPv4 only".&lt;/P&gt;
&lt;P&gt;- Monitoring (Torch) on the PPPoE shows outbound packets but never any replies.&lt;/P&gt;
&lt;P&gt;Sometimes disabling and re-enabling the PPPoE fixes it, quite often not.&amp;nbsp; Sometimes disabling the "add default route" and then disabling, reenabling the PPPoE and then finally reenabling "add default route" fixes it.&amp;nbsp; Sometimes not.&amp;nbsp; Repeating these, and eventually it comes back up and "just works".&amp;nbsp; But if left alone, it appears to stay broken.&lt;/P&gt;
&lt;P&gt;Once I have got the Plusnet IPv6 working, it appears to stay up, no issues, until the next time the WAN link drops or resets.&lt;/P&gt;
&lt;P&gt;Some additional information that may be relevant:&lt;/P&gt;
&lt;P&gt;Current hardware: Mikrotik RB5009.&amp;nbsp; Fully up to date on the firmware.&amp;nbsp; I cannot see anything being blocked or denied on the WAN link.&amp;nbsp; I have added the "clamp to pmtu" fix noted in this forum (no change, I dont think I was suffering this issue anyway).&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also suffered from the same loss of connectivity on the previous UniFi UCG Ultra, including after being factory reset.&amp;nbsp; So I dont think this is Mikrotik specific.&amp;nbsp; Or configuration specific seems how it also fails "out of the box".&lt;/P&gt;
&lt;P&gt;I also have a HE IPv6 tunnel that I need to keep for various reasons.&amp;nbsp; It never drops.&amp;nbsp; (I am using some source routing to direct the subnet to the tunnel.&amp;nbsp; I do not mix plusnet or HE IPv6 on the same VLAN.).&lt;/P&gt;
&lt;P&gt;IPv4 connectivity never drops.&amp;nbsp; That appears as rock solid as always.&lt;/P&gt;
&lt;P&gt;Any suggestions or advice from anyone?&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 May 2026 10:27:39 GMT</pubDate>
      <guid>https://community.plus.net/t5/IPv6-Trial/Intermittent-IPv6-connectivity/m-p/2047248#M3793</guid>
      <dc:creator>wmh</dc:creator>
      <dc:date>2026-05-28T10:27:39Z</dc:date>
    </item>
    <item>
      <title>Re: Intermittent IPv6 connectivity</title>
      <link>https://community.plus.net/t5/IPv6-Trial/Intermittent-IPv6-connectivity/m-p/2047249#M3794</link>
      <description>&lt;P&gt;I haven't seen this, but the number of times my wan goes down is counted on one hand per year.&lt;/P&gt;
&lt;P&gt;Regardless, I use a fairly simple bash script on my router that checks I can ping a reliable IP6 address every minute, and if it fails, I log to ntfy.&lt;/P&gt;
&lt;P&gt;If it fails more than 3 times, I stop and restart wide-dhcpv6-client and log to ntfy, then wait 10 minutes before resuming per-minute checks.&amp;nbsp; I do the same for the IP4 side.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;(network_vars.sh includes network_vars_plus6.sh which is written as part of ppp's ip-up processing to log network info.&amp;nbsp; You could pick any reliable ip6 host - I use google.dns IP6 address )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;#!/bin/bash&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;#&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;# Script to monitor the stability of the plusnet IP6 connection&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;COUNT=0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;TIMEOUT=3&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;PINGS=2&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;PINGWAIT=7&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;INTERTEST=60&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;POSTDOWNUP=600&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;function cleanup()&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo NOTICE: Exiting script&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; exit 0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;trap cleanup SIGINT&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;NOW=$(date)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;echo "[$NOW] NOTICE: monitor_plus6 $$ started"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;echo&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;while true;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;do&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; # These may change while we are monitoring so load them now&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; . ~/bin/network_vars.sh&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; TESTIP=$VALID_PUB_GW6_PLUS&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; # Try pinging gateway $PINGS times or for $PINGWAIT seconds&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; ping6 -c $PINGS -i 2 -w $PINGWAIT "$TESTIP" 2&amp;gt;&amp;amp;1 &amp;gt;/dev/null&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; if [ $? == 0 ];&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; then&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; if [ $COUNT -gt 0 ];&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; then&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; NOW=$(date)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo "[$NOW] NOTICE: ping6 test successful after $COUNT failures"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo ==============================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; fi&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; # If all ok then reset the counter and wait before retrying&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; COUNT=0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; sleep $INTERTEST&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; continue&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; fi&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; # Increment the ping check count&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; let COUNT=$COUNT+1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; NOW=$(date)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; /usr/bin/curl -m 5 -u "ntfypublish:&amp;lt;censored&amp;gt;"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN&gt;if [ $COUNT -lt $TIMEOUT ];&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; then&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo "[$NOW] WARNING: ping test to $TESTIP failed $COUNT times"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; sleep $INTERTEST&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; continue&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; fi&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; # Ping has failed every $PINGWAIT for $COUNT times.&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;Down and up the interface&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; /usr/bin/curl -m 5 -u "ntfypublish:&amp;lt;censored&amp;gt;"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo ======================================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo "[$NOW] ERROR: ping test to $TESTIP failed $COUNT times"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo "[$NOW] ERROR: wide-dhcpv6 stop and start is next"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo ======================================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; trap - SIGINT&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; systemctl stop wide-dhcpv6-client.service&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; sleep 5&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; systemctl start wide-dhcpv6-client.service&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; trap cleanup SIGINT&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; NOW=$(date)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo ======================================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo "[$NOW] ERROR: stop - start completed.&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;Waiting $POSTDOWNUP before testing again."&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; echo ======================================================================&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; # Wait before trying again afer downing and restoring the interface&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt; sleep $POSTDOWNUP&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;done&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 May 2026 11:07:02 GMT</pubDate>
      <guid>https://community.plus.net/t5/IPv6-Trial/Intermittent-IPv6-connectivity/m-p/2047249#M3794</guid>
      <dc:creator>MPC</dc:creator>
      <dc:date>2026-05-28T11:07:02Z</dc:date>
    </item>
  </channel>
</rss>

