I have my network setup where I have fiber connected to my ISP's modem. The modem is set to Bridge, and it's connected to my OpenWrt router's WAN port.
I've managed to setup PPPoE after talking with customer support to obtain the credentials, and now I'm trying to setup IPv6 connection. I noticed none of my connected devices (desktop, phone) have a v6 address assigned.
I checked the wiki on how to configure IPv6 and tried to follow the base configuration settings listed on the troubleshooting page:
- ULA assignment: disabled (see Network > Interfaces > Global network options)
- “Request IPv6-address”: try
- “Request IPv6-prefix of length”: set to /64, verify that a block is assigned; set to /60, see if a block is still assigned; repeat until largest possible block is determined. Alternatively, set to automatic to use the default from the ISP
- “Do not send a Release when restarting”: enable
- “Delegate IPv6 prefixes”: enable on
wan6
, disable everywhere else- “IPv6 assignment length”: disable on
wan6
, enable and set to 64 onlan
and other local subnetworks- “IPv6 assignment hint”: set to successive integers on each local subnetwork (this determines the /64 ranges that will be assigned to each subnetwork from your prefix delegation)
- “RA-Service”: disable on
wan6
, set to server mode onlan
and other subnetworks- “DHCPv6-Service”: disable on
wan6
, set to server mode onlan
and other subnetworks- “NDP-Proxy”: set to relay mode
I followed these steps, and I had partial success. wan6
gets assigned a IPv6-PD with a /56
, and eventually a /64
IPv6 address. However, my lan
interface shows up with two IPv6 addresses set to undefined/0
:
I also noticed that the following line appears frequently in my system log:
Wed Jun 11 23:50:03 2025 daemon.err odhcpd[1853]: setsockopt(PACKET_ADD_MEMBERSHIP): Invalid argument
I'm not sure what's going on and would like to know what's happening. For example, I noticed that I need to set the wan6
device to pppoe-wan
for it to get the PD address assigned from my ISP, otherwise it doesn't get any v6 addresses.
Here are my configs:
# /etc/config/network
config globals 'globals'
option ula_prefix 'fd20:3837:99c8::/48'
option packet_steering '1'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '64'
option delegate '0'
config interface 'wan'
option device 'wan'
option proto 'pppoe'
option username 'pppoe username'
option password 'pppoe password'
option ipv6 '1'
option keepalive '5 1'
option peerdns '0'
option delegate '0'
list dns '9.9.9.9'
list dns '149.112.112.112'
option sourcefilter '0'
config interface 'wan6'
option proto 'dhcpv6'
option reqaddress 'try'
option reqprefix 'auto'
option norelease '1'
option device 'pppoe-wan'
# /etc/config/dhcp
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option ra 'server'
option dhcpv6 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
option ndp 'relay'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
config dhcp 'wan6'
option interface 'wan6'
option ndp 'relay'