Hi!
I’ve found multiple topics which do not fully fit my requirements to answer my question so i’d like to phrase it the way i think would help me most.
I am receiving a PD via DHCPv6 from my ISP with a lifetime of 3 days every time i connect via PPPoE. My ISP disconnects me every 24 hours though and hands out a completely new prefix on reconnect, so that time doesnt make much sense anyway.
Problem 1:
I know i can manually set valid-lifetime and preferred-lifetime but in my case that doesnt help me either. Valid-lifetime is getting updated with every RA (if announced>remaining), same applies to preferred-lifetime. But take this scenario for example:
- valid-lifetime is 86000
- preferred-lifetime is 3600
- ISP disconnects me
- preferred-lifetime is getting set to 0
- valid-lifetime remains at 86000
This only means that applications should not use the old prefix to open new connections but are allowed to use the old prefix for ongoing connections. But because my ISP revoked the old prefix and assigned me a new one, i need valid-lifetime 0 to be sent to all clients to pronounce all old ipv6-addresses invalid.
I’ve seen ROS 7.9 implemented sending RA with preferred-lifetime 0 once a prefix (it says address) is deactivated, but shouldnt that be valid-timetime 0 aswell?
Problem 2:
Even though the old prefix is getting deleted, routes getting deletes and addresses getting deleted in ROS, the old prefix will still be announced via RA by ROS. The RA is increasing in size every time my prefix changes due to reconnects or disconnects from my ISP:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
00:00:00.000000 IP6 (class 0xc0, flowlabel 0x52d25, hlim 255, next-header ICMPv6 (58) payload length: 88) fe80::4aa9:8aff:fe62:d07e > ip6-allnodes: [icmp6 sum ok] ICMP6, router advertisement, length 88
hop limit 0, Flags [none], pref medium, router lifetime 1800s, reachable time 0ms, retrans timer 0ms
source link-address option (1), length 8 (1): 48:a9:8a:62:d0:7e
0x0000: 48a9 8a62 d07e
prefix info option (3), length 32 (4): 2001:9e8:XXXX:3603::/64, Flags [onlink, auto], valid time 86400s, pref. time 3600s
0x0000: 40c0 0001 5181 0000 0e10 0000 0000 2001
0x0010: 09e8 XXXX 3603 0000 0000 0000 0000
prefix info option (3), length 32 (4): 2001:9e8:YYYY:4403::/64, Flags [onlink, auto], valid time 86400s, pref. time 0s
0x0000: 40c0 0001 5180 0000 0000 0000 0000 2001
0x0010: 09e8 YYYY 4403 0000 0000 0000 0000
As you can see, the RA carries the old “YYYY” prefix even though it does not even exist anymore and announces it with a valid lifetime of 1 day (thats what i configured as default value) and preferred-lifetime of 0. Why for gods sake is that the case? Old prefixes literally never expire on my machines.
No matter how i engage my problem, i always end up with deprecated addresses on my machines interfaces which are - by rfc - still valid and to be used for ongoing connections.
How do i solve that problem? I just cant wrap my head around that.
Appreciate everyones time!