R7800 weird IPv6 behavior

Post new topic   Reply to topic    DD-WRT Forum Index -> Qualcomm Atheros based Hardware
Goto page 1, 2  Next
Author Message
dpp3530
DD-WRT Guru


Joined: 12 Dec 2007
Posts: 896
Location: Pittsburgh, PA USA

PostPosted: Wed May 15, 2024 9:50    Post subject: R7800 weird IPv6 behavior Reply with quote
At egc's advice, I'm asking in the forum.

Starting with r56326, Netgear R7800 gets IPv6 address from ISP (Verizon Fios) but does not route IPv6 packets. Cannot ping IPv6 hosts from the router CLI itself, or from client machines behind it. Note that issue does not occur on Marvell-based Linksys WRT1900AC v1 running the same version of DD-WRT with the same configuration. It may be something Atheros specific.

IPv6 config:
Code:
IPV6 Enabled
IPV6 Type: DHCP6 with Prefix Delegation
Prefix: 56
Static DNS 1: 2a10:50c0::ad2:ff
Static DNS 2: 2a10:50c0::ad3:ff
MTU: 1452
No release on reconnect - Disabled
Custom Config - Disabled
DHCPV6 Server - Disabled
RADVD - Disabled


DNSMasq Config contains the following lines:
Code:
dhcp-range=::150,::1EFF,constructor:br0,ra-stateless,ra-names,1h[br] dhcp-option=option6:dns-server,[::][br] dhcp-option=option6:domain-search,plotz.lan[br] enable-ra
ra-param=br0,10,300
quiet-dhcp6
quiet-ra


A route appears to be missing from the routing table.

From the R7800 command line, which does not work (Router name is Barricade in both cases)

Code:
root@Barricade:~# ip -6 route
2600:4041:402:2c00::/56 dev br0 metric 256
fe80::/64 dev eth1 metric 256
fe80::/64 dev br0 metric 256
fe80::/64 dev wlan1 metric 256
fe80::/64 dev wlan0 metric 256
fe80::/64 dev tun2 metric 256
fe80::/64 dev eth0 metric 256
default dev eth0 metric 2048
anycast 2600:4041:402:2c00:: dev br0 metric 0
anycast fe80:: dev eth1 metric 0
anycast fe80:: dev br0 metric 0
anycast fe80:: dev wlan1 metric 0
anycast fe80:: dev wlan0 metric 0
anycast fe80:: dev tun2 metric 0
anycast fe80:: dev eth0 metric 0
multicast ff00::/8 dev eth1 metric 256
multicast ff00::/8 dev br0 metric 256
multicast ff00::/8 dev wlan1 metric 256
multicast ff00::/8 dev wlan0 metric 256
multicast ff00::/8 dev tun2 metric 256
multicast ff00::/8 dev eth0 metric 256
multicast ff00::/8 dev oet1 metric 256


Same command on the WRT1900AC, which does work

Code:
root@Barricade:~# ip -6 route
2600:4041:402:4a00::/64 dev br0 metric 256
fe80::/64 dev eth0 metric 256
fe80::/64 dev br0 metric 256
fe80::/64 dev wlan1 metric 256
fe80::/64 dev wlan0 metric 256
fe80::/64 dev tun2 metric 256
fe80::/64 dev eth1 metric 256
default via fe80::4e96:14ff:fe6e:fcf5 dev eth1 metric 1024 expires 0sec
default dev eth1 metric 2048
anycast 2600:4041:402:4a00:: dev br0 metric 0
anycast fe80:: dev eth0 metric 0
anycast fe80:: dev br0 metric 0
anycast fe80:: dev wlan1 metric 0
anycast fe80:: dev wlan0 metric 0
anycast fe80:: dev tun2 metric 0
anycast fe80:: dev eth1 metric 0
multicast ff00::/8 dev eth0 metric 256
multicast ff00::/8 dev br0 metric 256
multicast ff00::/8 dev wlan1 metric 256
multicast ff00::/8 dev wlan0 metric 256
multicast ff00::/8 dev tun2 metric 256
multicast ff00::/8 dev eth1 metric 256
multicast ff00::/8 dev oet1 metric 256


Aside from the eth0/eth1 reversal, which is expected, and fact that it pulled a slightly different IPv6 range in each case, the major difference appears to be the line

default via fe80::4e96:14ff:fe6e:fcf5 dev eth1 metric 1024 expires 0sec

This line is present on the WRT1900AC but not on the R7800.

Running the below command from the CLI on the R7800 will allow it to route packets for several hours, but eventually it stops, presumably when the IPv6 range is renewed.

Code:
ip -6 route add default via fe80::4e96:14ff:fe6e:fcf5 dev eth0


Same behavior if I add

Code:
Sleep 30
ip -6 route add default via fe80::4e96:14ff:fe6e:fcf5 dev eth0


to the Startup script in the GUI. It will work for a few hours, then stop. I kludged it by adding a cron job to run the command every 30 minutes, but I don't understand why it works on one router and not the other.

_________________
__________________________
Linksys MR7350
DD-WRT v3.0 STD
Sponsor
egc
DD-WRT Guru


Joined: 18 Mar 2014
Posts: 13646
Location: Netherlands

PostPosted: Wed May 15, 2024 10:13    Post subject: Reply with quote
On my R7800 running build 56380 (56379) I have no problem.

If you test by connecting to your modem with both routers you have to do a power down modem and router, wait 5-10 minutes, power up modem, wait 5 minutes and then startup router.

_________________
Routers:Netgear R7000, R6400v1, R6400v2, EA6900 (XvortexCFE), E2000, E1200v1, WRT54GS v1.
Install guide R6400v2, R6700v3,XR300:https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=316399
Install guide R7800/XR500: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=320614
Forum Guide Lines (important read):https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324087
dpp3530
DD-WRT Guru


Joined: 12 Dec 2007
Posts: 896
Location: Pittsburgh, PA USA

PostPosted: Wed May 15, 2024 16:01    Post subject: Reply with quote
I've been cloning the MAC address of Verizon's router for years, as it's required to allow Remote DVR to work. I don't have a modem, I have an Optical Network Terminal, and I can probably count on my fingers the number of times I've had to power-cycle the ONT in the last 18 years that I've had Verizon. I can try it this evening.
_________________
__________________________
Linksys MR7350
DD-WRT v3.0 STD
dpp3530
DD-WRT Guru


Joined: 12 Dec 2007
Posts: 896
Location: Pittsburgh, PA USA

PostPosted: Fri May 17, 2024 9:47    Post subject: Reply with quote
I finally had a chance to test cycling the ONT as egc requested. Powered off the ONT, swapped the R7800 in and the WRT1900AC out, waited 8 more minutes, then plugged in the ONT, waited for the lights to turn green, then powered on the R7800. On the router, I got a different IPv4 address, different IPv6 address. I waited several minutes, then checked the IPv6 routing table on the router. That line was still missing.

I swapped the routers back, without recycling the ONT, and the WRT1900AC picked up the same new IPv4 address, a different IPv6 address, and the routing table contained the line in question. (Note: every time I reboot the router under normal use, I get a different IPv6 range, so this is expected behavior).

I'll gather logs from the R7800 over the weekend showing the boot sequence. Maybe there's something in there that will help.

_________________
__________________________
Linksys MR7350
DD-WRT v3.0 STD
HalfBit
DD-WRT Guru


Joined: 04 Sep 2009
Posts: 796
Location: AR, USA

PostPosted: Mon Dec 30, 2024 3:22    Post subject: Reply with quote
This still seems to be a problem. I'm running 58850.

After a reboot:
Code:
~# ip -6 route show
2600:8804:XXXX:XXXX::/64 dev br0  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan1.1  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan0.1  metric 256
2600:8804:XXXX:XXXX::/64 dev br1  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan1.2  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan0.2  metric 256
2600:8804:XXXX:XXXX::/64 dev br2  metric 256
2600:8804:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX dev eth0  metric 256
fe80::/64 dev br1  metric 256
fe80::/64 dev br2  metric 256
fe80::/64 dev eth1  metric 256
fe80::/64 dev br0  metric 256
fe80::/64 dev wlan1  metric 256
fe80::/64 dev wlan1.1  metric 256
fe80::/64 dev wlan1.2  metric 256
fe80::/64 dev wlan0  metric 256
fe80::/64 dev wlan0.1  metric 256
fe80::/64 dev wlan0.2  metric 256
fe80::/64 dev eth0  metric 256
default via fe80::a47:d0ff:fe07:c2a7 dev eth0  metric 1024  expires 0sec <---Important, and interesting that it shows expires 0sec[onds]
default dev eth0  metric 2048


After some time:
Code:
~# ip -6 route show
2600:8804:XXXX:XXXX::/64 dev br0  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan1.1  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan0.1  metric 256
2600:8804:XXXX:XXXX::/64 dev br1  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan1.2  metric 256
2600:8804:XXXX:XXXX::/64 dev wlan0.2  metric 256
2600:8804:XXXX:XXXX::/64 dev br2  metric 256
2600:8804:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX dev eth0  metric 256
fe80::/64 dev br1  metric 256
fe80::/64 dev br2  metric 256
fe80::/64 dev eth1  metric 256
fe80::/64 dev br0  metric 256
fe80::/64 dev wlan1  metric 256
fe80::/64 dev wlan1.1  metric 256
fe80::/64 dev wlan1.2  metric 256
fe80::/64 dev wlan0  metric 256
fe80::/64 dev wlan0.1  metric 256
fe80::/64 dev wlan0.2  metric 256
fe80::/64 dev eth0  metric 256
default dev eth0  metric 2048

Any resolutions?

_________________
R7800 Nighthawk - DD-WRT v3.0-r58850 std (Primary)
R7800 Nighthawk - DD-WRT v3.0-r58389 std (Cold Secondary)
▲ ACTIVE / INACTIVE ▼
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Still works great after running for 10 years solid)
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Cold Secondary)
R7000 Nighthawk - DD-WRT v3.0-r58389 std (Extra)
~~~~~~~~~~Dismantled for learning opportunities~~~~~~~~~~
WRT54Gv2
WRT54Gv8.2
~~~~~~~~~~Other Settings~~~~~~~~~
https://nextdns.io/?from=2d3sq39x
https://pi-hole.net/
https://github.com/DNSCrypt/dnscrypt-proxy
Per Yngve Berg
DD-WRT Guru


Joined: 13 Aug 2013
Posts: 7027
Location: Romerike, Norway

PostPosted: Mon Dec 30, 2024 12:44    Post subject: Reply with quote
You get the same IPv4 because the MAC is the same, but UID for IPv6 is different.
egc
DD-WRT Guru


Joined: 18 Mar 2014
Posts: 13646
Location: Netherlands

PostPosted: Mon Dec 30, 2024 12:59    Post subject: Reply with quote
IPv6 routes do expire, the default lease time is 1440 min which is way too long.

I added GUI settings for DNSMasq see screenshot with reasonable settings.

For further information see: https://github.com/egc112/ddwrt/blob/main/IPv6%20DNSMasq%20IPv6%20RA.pdf

note some (a lot ) of ISP's do a mediocre job at implementing IPv6 so that could also be the case



Naamloos.jpg
 Description:
 Filesize:  132.34 KB
 Viewed:  128 Time(s)

Naamloos.jpg



_________________
Routers:Netgear R7000, R6400v1, R6400v2, EA6900 (XvortexCFE), E2000, E1200v1, WRT54GS v1.
Install guide R6400v2, R6700v3,XR300:https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=316399
Install guide R7800/XR500: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=320614
Forum Guide Lines (important read):https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324087
dpp3530
DD-WRT Guru


Joined: 12 Dec 2007
Posts: 896
Location: Pittsburgh, PA USA

PostPosted: Mon Dec 30, 2024 14:29    Post subject: Reply with quote
@egc, I tested recently again with the R7800. If I don't use NSS, it works fine. If I do use NSS, the IPV6 routing table seems to be very different. What's weird is that I don't see the same behavior on the Linksys MR7350 (or for that matter on the Linksys WRT1900AC I was using before, although that doesn't have NSS cores).

Routing tables below. In both cases, using NSS-ECM. IPV6 settings were posted in an earlier thread. Both are on the latest version (r58892). The difference is just one route, but that particular route is rather important.

MR7350:
Code:
root@Barricade:~# ip -6 route
2600:4041:401:1700::/64 dev br0  metric 256
fe80::/64 dev tun2  metric 256
fe80::/64 dev eth4  metric 256
fe80::/64 dev br0  metric 256
fe80::/64 dev wlan1  metric 256
fe80::/64 dev wlan1.1  metric 256
fe80::/64 dev wlan0  metric 256
fe80::/64 dev wlan0.1  metric 256
fe80::/64 dev eth1  metric 256
default via fe80::4e96:14ff:fe6e:fcf5 dev eth4  metric 1024  expires 0sec
default dev eth4  metric 2048


R7800:
Code:
root@Barricade:~# ip -6 route
2600:4041:40e:2e00::/56 dev br0  metric 256
fe80::/64 dev eth1  metric 256
fe80::/64 dev br0  metric 256
fe80::/64 dev wlan1  metric 256
fe80::/64 dev wlan1.1  metric 256
fe80::/64 dev wlan0  metric 256
fe80::/64 dev wlan0.1  metric 256
fe80::/64 dev tun2  metric 256
fe80::/64 dev eth0  metric 256
default dev eth0  metric 2048

I realize it's not an apples-to-apples comparison, as they are different processors, but they're both Atheros with NSS cores, so it's as close as I can get.

While it's not outside the realm of possiblity that it's something on Verizon's end, why does it work with the Linksys routers and not the Netgear?

_________________
__________________________
Linksys MR7350
DD-WRT v3.0 STD
egc
DD-WRT Guru


Joined: 18 Mar 2014
Posts: 13646
Location: Netherlands

PostPosted: Mon Dec 30, 2024 15:31    Post subject: Reply with quote
No idea I do not use NSS, I need rock bottom stability as my R7800 is my main router and I am often away and I need it to get access to my home.
_________________
Routers:Netgear R7000, R6400v1, R6400v2, EA6900 (XvortexCFE), E2000, E1200v1, WRT54GS v1.
Install guide R6400v2, R6700v3,XR300:https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=316399
Install guide R7800/XR500: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=320614
Forum Guide Lines (important read):https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324087
HalfBit
DD-WRT Guru


Joined: 04 Sep 2009
Posts: 796
Location: AR, USA

PostPosted: Tue Dec 31, 2024 1:45    Post subject: Reply with quote
That makes two things that "resolve" the issue, and I'm not sure either of them are good.

For posterity's sake, I am able to fix my issue by manually adding the route back, which took me a while to figure out the syntax;
Code:
ip route add default via fe80::a47:XXXX:XXXX:XXXX dev eth0

This at least gets the default route back albeit not exactly the way it originally gets put in, but I'm not sure it makes much of a difference.
Original:
Code:
default via fe80::a47:XXXX:XXXX:XXXX dev eth0  metric 1024  expires 0sec

Manual:
Code:
default via fe80::a47:XXXX:XXXX:XXXX dev eth0  metric 1024

_________________
R7800 Nighthawk - DD-WRT v3.0-r58850 std (Primary)
R7800 Nighthawk - DD-WRT v3.0-r58389 std (Cold Secondary)
▲ ACTIVE / INACTIVE ▼
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Still works great after running for 10 years solid)
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Cold Secondary)
R7000 Nighthawk - DD-WRT v3.0-r58389 std (Extra)
~~~~~~~~~~Dismantled for learning opportunities~~~~~~~~~~
WRT54Gv2
WRT54Gv8.2
~~~~~~~~~~Other Settings~~~~~~~~~
https://nextdns.io/?from=2d3sq39x
https://pi-hole.net/
https://github.com/DNSCrypt/dnscrypt-proxy


Last edited by HalfBit on Fri Jan 03, 2025 13:30; edited 1 time in total
HalfBit
DD-WRT Guru


Joined: 04 Sep 2009
Posts: 796
Location: AR, USA

PostPosted: Tue Dec 31, 2024 2:34    Post subject: Reply with quote
I found this thread: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324221&postdays=0&postorder=asc&highlight=ipv6+working+r7800&start=0

I've basically found myself in the same situation. The only part I can't understand is when I use my R7000, disabling multicast is not necessary, but with the R7800 it is. I guess probably because of the architecture differences between SFE for R700 (BCM) vs. R7800 (QCA) with NSS?

_________________
R7800 Nighthawk - DD-WRT v3.0-r58850 std (Primary)
R7800 Nighthawk - DD-WRT v3.0-r58389 std (Cold Secondary)
▲ ACTIVE / INACTIVE ▼
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Still works great after running for 10 years solid)
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Cold Secondary)
R7000 Nighthawk - DD-WRT v3.0-r58389 std (Extra)
~~~~~~~~~~Dismantled for learning opportunities~~~~~~~~~~
WRT54Gv2
WRT54Gv8.2
~~~~~~~~~~Other Settings~~~~~~~~~
https://nextdns.io/?from=2d3sq39x
https://pi-hole.net/
https://github.com/DNSCrypt/dnscrypt-proxy
egc
DD-WRT Guru


Joined: 18 Mar 2014
Posts: 13646
Location: Netherlands

PostPosted: Tue Dec 31, 2024 8:35    Post subject: Reply with quote
HalfBit wrote:
I found this thread: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324221&postdays=0&postorder=asc&highlight=ipv6+working+r7800&start=0

I've basically found myself in the same situation. The only part I can't understand is when I use my R7000, disabling multicast is not necessary, but with the R7800 it is. I guess probably because of the architecture differences between SFE for R700 (BCM) vs. R7800 (QCA) with NSS?


Multicast should be enabled automatically when IPv6 is used:
Quote:
/* Allow multicast */
eval("ip6tables", "-A", "INPUT", "-d", "ff00::/8", "-j", log_accept);

You can check with : ip6tables -vnL INPUT

Ref: : https://www.catchpoint.com/benefits-of-ipv6/ipv6-multicast-address)

Maybe NSS takes a shortcut and does not adhere to this or is not equipped to deal with multicast

_________________
Routers:Netgear R7000, R6400v1, R6400v2, EA6900 (XvortexCFE), E2000, E1200v1, WRT54GS v1.
Install guide R6400v2, R6700v3,XR300:https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=316399
Install guide R7800/XR500: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=320614
Forum Guide Lines (important read):https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=324087
HalfBit
DD-WRT Guru


Joined: 04 Sep 2009
Posts: 796
Location: AR, USA

PostPosted: Tue Dec 31, 2024 22:21    Post subject: Reply with quote
Confirmed that is there.
Code:
root@gateway:~# ip6tables -vnL FORWARD | grep ff00
root@gateway:~# ip6tables -vnL INPUT | grep ff00
    0     0 ACCEPT     all      *      *       ::/0                 ff00::/8


When did tcpdump get removed from DD-WRT??

_________________
R7800 Nighthawk - DD-WRT v3.0-r58850 std (Primary)
R7800 Nighthawk - DD-WRT v3.0-r58389 std (Cold Secondary)
▲ ACTIVE / INACTIVE ▼
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Still works great after running for 10 years solid)
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Cold Secondary)
R7000 Nighthawk - DD-WRT v3.0-r58389 std (Extra)
~~~~~~~~~~Dismantled for learning opportunities~~~~~~~~~~
WRT54Gv2
WRT54Gv8.2
~~~~~~~~~~Other Settings~~~~~~~~~
https://nextdns.io/?from=2d3sq39x
https://pi-hole.net/
https://github.com/DNSCrypt/dnscrypt-proxy
kernel-panic69
DD-WRT Guru


Joined: 08 May 2018
Posts: 16029
Location: Texas, USA

PostPosted: Tue Dec 31, 2024 22:55    Post subject: Reply with quote
Sometime prior to this post from last year.
_________________
"Life is but a fleeting moment, a vapor that vanishes quickly; All is vanity"
Contribute To DD-WRT
Pogo - A minimal level of ability is expected and needed...
RSS feed for DD-WRT releases (2025)
RSS feed for DD-WRT releases (2024)
RSS feed for DD-WRT releases (2023)

----------------------
Linux User #377467 counter.li.org / linuxcounter.net
HalfBit
DD-WRT Guru


Joined: 04 Sep 2009
Posts: 796
Location: AR, USA

PostPosted: Fri Jan 03, 2025 16:29    Post subject: Reply with quote
I found this thread from several years ago: https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=312668

Also found this on openwrt forum: https://forum.openwrt.org/t/ipv6-works-only-with-wan-in-promiscuous-mode/490/17

My workaround is adding all multicast to eth0 in the startup commands:
Code:
ifconfig eth0 allmulti

Does anyone understand more fully why adding all multicast, or promiscuous (ifconfig eth0 promisc) on eth0 would help continue to obtain the default IPv6 route from an ISP?

_________________
R7800 Nighthawk - DD-WRT v3.0-r58850 std (Primary)
R7800 Nighthawk - DD-WRT v3.0-r58389 std (Cold Secondary)
▲ ACTIVE / INACTIVE ▼
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Still works great after running for 10 years solid)
R7000 Nighthawk - DD-WRT v3.0-r58850 std (Cold Secondary)
R7000 Nighthawk - DD-WRT v3.0-r58389 std (Extra)
~~~~~~~~~~Dismantled for learning opportunities~~~~~~~~~~
WRT54Gv2
WRT54Gv8.2
~~~~~~~~~~Other Settings~~~~~~~~~
https://nextdns.io/?from=2d3sq39x
https://pi-hole.net/
https://github.com/DNSCrypt/dnscrypt-proxy
Goto page 1, 2  Next Display posts from previous:    Page 1 of 2
Post new topic   Reply to topic    DD-WRT Forum Index -> Qualcomm Atheros based Hardware All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum