Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Simulated IPv6 test environment setup for IPv6 connectivity. 

IPv6 environment flow diagram


draw.io Diagram
bordertrue
diagramNameIPv6 environment
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth927
height421
revision3

Dibbler-Server setup in IPv6 Simulator

Step 1: Install dibbler server on host device ( sudo apt install dibbler-server )

Step 2: Configure server.conf file, replace iface name with your device usb-ethernet iface name.

/etc/dibbler/server.conf 

iface "enp0s31f6" {
 class {
   pool 2001:db8:1111::/64
 }
 pd-class {
    pd-pool 2601:9c0:d00:1170::/60
    pd-length 60
 }
 option dns-server 2001:4860:4860::8888,2000::ff,2000::fe

}

Step 3: Connect host machine to any available mobile hotspot, check your WiFi interface is getting IPv6 addr and able to do ping6.
Step 4: Add nat rule and IPv6 addr for usb to ethernet interface

sudo /sbin/ip6tables -t nat -A POSTROUTING -o wlp2s0 -j MASQUERADE
sudo ip addr add 2001:db8:1111:0:d786:cc43:fe52:26e1/64 dev <interface name of usb-to-ethernet>

Image Added

Step 5: Run dibbler-server on host machine, if success, able to see accepting connections.

Image Added

Dibbler client and server conf in CPE

Dibbler client conf

script "/lib/rdk/client-notify.sh"
log-level 7
log-mode full
duid-type duid-ll
iface erouter0 {

    option domain 

    option dns-server 

    ia 

    option 0017 hex 0x0000118b0001000200260002000E45524F555445520002001845524F555445523A45445641

    option 0016 hex 0x0000118b000a65526f75746572312e30

    pd  
{ prefix ::/64 }

}skip-confirm
downlink-prefix-ifaces "brlan0"

Dibbler server conf

log-level 4
inactive-mode
drop-unicast
reconfigure-enabled 1
iface brlan0 {
   preference 255
   class {
       pool \00:0:0:0001 - \00:0:0:fffe
       T1 1800
       T2 2880
       prefered-lifetime 3600
       valid-lifetime 7200
   }
}

Connected Clients

Lan Clients

Connected clients got IPv6 addr and able to perform ping6. Test ipv6 (https://test-ipv6.com) from browser passed.

...

Considerations

  • Currently SLAAC won't work
  • In RDKB GW, Dibbler-client should get IPv6 global address from upstream Dibbler-server
  • Subsequently client-notify.sh notifies PandM component to invoke Dibbler-server for brlan0

References