Community discussions

MikroTik App
 
frittentheke
newbie
Topic Author
Posts: 45
Joined: Mon Dec 24, 2012 1:12 am
Location: Germany

Deprecating old IPv6 prefix when removed or replaced RFC6204

Sun May 26, 2013 3:56 pm

Hey folks,

I have a RB2011UAS-2HnD-IN running RouterOS 6. It's connected to a residential PPPoE internet connection supporting IPv6. Over this connection I get a dynamic /64. In addition to that I use DHCPv6 to get an additional (also dynamic) /48 which is then used to cut /64s out for internal interfaces. Let me emphasize again, that both, the PPPoE /64 and the /48 are dynamic, just like IPv4 addresses usually are on residential internet connections.


My setup and configuration works well except for one little detail:

The prefix that is delegated via DHCPv6 might have a longer lease time than the PPPoE connection persists. Usually there is no relation between the lease time of a DHCP(v6) lease and the interface it was recieved on.
But in this case there is. If the PPPoE connection gets disconnected (there is a forced disconnect after some hours from the ISP) and the router reconnects it recieves a different /64 and a new /48 prefix via DHCPv6. Also the old prefixes cannot be used anymore via the PPPoE connection.

The router appears to relate the /48 prefix to the pppoe interface. When I unplug the DSL modem the prefix disappears from the dhcp-client and the interface gets the status "stopped". The problem is that the prefix (or better a /64 slice out of it) is still on the internal interface which still sends our router advertisements telling everyone and their brother about it with a lifetime of a few hours. When the reconnection is successful and there is the new prefix being put on the interface, the router starts advertising this prefix. The old and unusable prefix remains on the clients until its preferred lifetime is over. And this is the core of the problem: The removed/replaced prefix is not "deprecated" by sending out router advertisements with preferred lifetime "0".

May I point you to RFC6204 Basic Requirements for IPv6 Customer Edge Routers
which clearly states:
If the delegated prefix changes, i.e., the current prefix is
replaced with a new prefix without any overlapping time
period, then the IPv6 CE router MUST immediately advertise the
old prefix with a Preferred Lifetime of zero and a Valid
Lifetime of the lower of the current Valid Lifetime and 2
hours (which must be decremented in real time) in a Router
Advertisement message as described in Section 5.5.3, (e) of
[RFC4862].
 
frittentheke
newbie
Topic Author
Posts: 45
Joined: Mon Dec 24, 2012 1:12 am
Location: Germany

Re: Deprecating old IPv6 prefix when removed or replaced RFC

Mon May 27, 2013 10:32 pm

Talking to a few more people and reading RFC 6204 again, I believe this is a bug.
Therefore I take to liberty to open a "bug report".
 
boboland
just joined
Posts: 6
Joined: Wed Oct 16, 2013 12:46 pm

Re: Deprecating old IPv6 prefix when removed or replaced RFC

Tue Oct 22, 2013 6:34 pm

Any news on this point ?
 
ranpha
Frequent Visitor
Frequent Visitor
Posts: 62
Joined: Mon Jan 09, 2012 3:16 am

Re: Deprecating old IPv6 prefix when removed or replaced RFC

Fri Nov 08, 2013 2:12 am

Still the same as of today. Can be mitigated though by the script at http://forum.mikrotik.com/viewtopic.php?f=13&t=77404
 
frittentheke
newbie
Topic Author
Posts: 45
Joined: Mon Dec 24, 2012 1:12 am
Location: Germany

Re: Deprecating old IPv6 prefix when removed or replaced RFC

Mon Dec 16, 2013 2:39 am

The issue has Ticket#2013052766001293, but no news yet from Mikrotik.
 
frittentheke
newbie
Topic Author
Posts: 45
Joined: Mon Dec 24, 2012 1:12 am
Location: Germany

Re: AW: Deprecating old IPv6 prefix when removed or replaced

Sun Jan 12, 2014 10:20 pm

PING !
 
frittentheke
newbie
Topic Author
Posts: 45
Joined: Mon Dec 24, 2012 1:12 am
Location: Germany

Re: Deprecating old IPv6 prefix when removed or replaced RFC

Tue Dec 02, 2014 2:42 am

I just received an update on the ticket. Apparently this and other routing features are somewhat "planned" for RouterOS 7
 
frittentheke
newbie
Topic Author
Posts: 45
Joined: Mon Dec 24, 2012 1:12 am
Location: Germany

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Fri May 12, 2017 1:42 am

I just asked for an update on this issue. Is there really so little pain among the user base for this not beeing pursued?
 
kielerjung
just joined
Posts: 7
Joined: Sun Jun 01, 2014 7:12 pm
Location: Kiel
Contact:

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Sat Jan 20, 2018 10:50 pm

Just in order to keep this thread alive: Still not fixed. Still needs scripting.
 
pe1chl
Forum Guru
Forum Guru
Posts: 10506
Joined: Mon Jun 08, 2015 12:09 pm

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Sat Jan 20, 2018 11:44 pm

It is likely mainly a problem for users in Germany. You appear to get dynamic addresses that actually change every day,
while in many other countries one either gets a static address or a dynamic address that only changes when the need
arises or something triggers a change (like a new modem with different MAC, a prolonged power outage causing a lease
to expire, etc).
W.r.t. the promise of it being solved in V7: that is a standard reply that is made to many ennhancement requests.
For all practical purposes there exists no V7 and it has been promised for several years already.
 
User avatar
sebastia
Forum Guru
Forum Guru
Posts: 1782
Joined: Tue Oct 12, 2010 3:23 am
Location: Antwerp, BE

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Sun Jan 21, 2018 3:27 am

Hi

Can't this issue be partially mitigated by having short ip lifecycle, ex:
/ipv6 nd prefix default
set preferred-lifetime=1h valid-lifetime=1h
 
redskilldough
just joined
Posts: 21
Joined: Mon Jan 04, 2016 12:40 pm

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Thu Apr 26, 2018 1:36 pm

Hi

Can't this issue be partially mitigated by having short ip lifecycle, ex:
/ipv6 nd prefix default
set preferred-lifetime=1h valid-lifetime=1h
Yes, this is what I'm doing, i leave the valid-lifetime at the default value, I make the preferred lifetime 10 mins 10 seconds.
10 mins 10 seconds because ra-interval is 200-600 seconds. Taking the worse case scenario that the advertisement goes out at 600 seconds (10 mins), so the address should survive at least till then, with an extra 10 seconds buffer time.
So, at the next advertisement, if its the same prefix, the current address gets renewed for another 10 mins 10 sec and so forth.
In case the next advertisement goes out with a new prefix, a new address will be created and the old one deprecates.
Ipv6 downtime is at most, only a few minutes.
Has been working well for months
 
mlu1
just joined
Posts: 2
Joined: Tue Dec 31, 2019 11:12 am

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Tue Dec 31, 2019 12:35 pm

Is there any update or change that this will be included in the next versions of ROS?

I made some research and found that the wanted behaviour can be set in radvd.conf with "DeprecatePrefix on" [1] which was added back in 2011. Maybe it is not a big deal for MikroTik to add a property in /ipv6 nd?

[1] https://manpages.debian.org/stretch/rad ... .5.en.html
 
piku
newbie
Posts: 48
Joined: Sat Feb 10, 2018 10:59 am

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Tue Feb 11, 2020 3:48 am

after 7 years passed, still the problem existing.
 
pe1chl
Forum Guru
Forum Guru
Posts: 10506
Joined: Mon Jun 08, 2015 12:09 pm

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Tue Feb 11, 2020 10:35 am

after 7 years passed, still the problem existing.
Fixing IPv6 is at a low priority for MikroTik.
Now that V7 beta has been released, it turns out that the promised features are not present, it was only a "we will not fix this now but maybe in the future" indication.
Still wait 5 more years, I guess...
 
piku
newbie
Posts: 48
Joined: Sat Feb 10, 2018 10:59 am

Re: Deprecating old IPv6 prefix when removed or replaced RFC6204

Tue Mar 10, 2020 10:39 am

I'm running a script every 20 minutes for fix this problem but not sure if it is working.
thanks ranpha
fyi.
:log info "IPv6 Check Start";
# run this script 2 hour at most for remove any address old;
# till MikroTik fix [ipv6 fir add timeout] bug
:do {
  :ipv6 fir addr remove [/ipv6 fir addr find timeout=0s and list=oldV6]
} on-error={}

# poolname is the name of the IPv6 pool that contained the prefix you got from the ISP.
:local poolname "pool-ipv6";
# intname is the interface where the pool is advertised.
:local intname "bridge1";

:global oldV6;
:local newV6;
:set newV6 [/ipv6 pool get $poolname prefix];

:if ([ :typeof $oldV6 ] = "nothing") do={
 :set oldV6 $newV6
}

:if ($newV6 != $oldV6) do={
 :log info "Mismatch -- killing old prefix";
 :log info "Current -- $newV6";
 :log info "Previous -- $oldV6";
 :do {
  :ipv6 fir add add list=oldV6 address=$oldV6 timeout=2h;
 } on-error={}
 :set oldV6 $newV6;
}

:do {
  :ipv6 nd prefix remove [/ipv6 nd prefix find (!dynamic)];
} on-error={}
:foreach oldipv6s in=[/ipv6 fir add find list=oldV6] do={
  :do {
    :ipv6 nd prefix add autonomous=yes disabled=no interface=$intname on-link=yes preferred-lifetime=0s prefix=[/ipv6 fir add get $oldipv6s address] valid-lifetime=0s;
  } on-error={}
}

:log info "IPv6 Check Stop";

Who is online

Users browsing this forum: Google [Bot], Kelalatir, kleshki, sindy and 38 guests