Versions Compared

Key

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

Table of Contents
stylenone

Introduction

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.

Image AddedImage AddedImage Added

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

...