Mount IPv6 devices

Prerequisites on CCSDK, SDNC, OpenDaylight

1. feature:install odl-netconf-clustered-topology
2. feature:install odl-restconf-all

Mount request (HTTP/RestConf)

PUT http://localhost:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/ipv6-device


Headers:

- Accept: application/josn
- Content-Type: application/json

Body

{ "node": [ { "node-id": "ipv6-device", "netconf-node-topology:reconnect-on-changed-schema": false, "netconf-node-topology:password": "admin", "netconf-node-topology:username": "admin", "netconf-node-topology:sleep-factor": 1.5, "netconf-node-topology:port": 12600, "netconf-node-topology:tcp-only": false, "netconf-node-topology:connection-timeout-millis": 20000, "netconf-node-topology:max-connection-attempts": 0, "netconf-node-topology:host": "::1", "netconf-node-topology:between-attempts-timeout-millis": 2000, "netconf-node-topology:keepalive-delay": 120 } ] }


Please note the "host" - "::1" is localhost in IPv6 format.

Check Connection Status

GET http://localhost:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/node/ipv6-device

- Accept: application/xml
- Content-Type: application/xml

Expected result body

{ "node": [ { "node-id": "ipv6-device", "netconf-node-topology:unavailable-capabilities": { "unavailable-capability": [...] }, "netconf-node-topology:available-capabilities": { "available-capability": [...] }, "netconf-node-topology:host": "0:0:0:0:0:0:0:1", "netconf-node-topology:clustered-connection-status": { "netconf-master-node": "akka.tcp://opendaylight-cluster-data@127.0.0.1:2550" }, "netconf-node-topology:connection-status": "connected", "netconf-node-topology:port": 12600 } ] }

Note: using ipv6: fe80::20c:29ff:fef8:337c worked as well.

Docker and IPv6

See: https://docs.docker.com/v17.09/engine/userguide/networking/default_network/ipv6/#how-ipv6-works-on-docker

Docker-compose an IPv6

See https://collabnix.com/enabling-ipv6-functionality-for-docker-and-docker-compose/

Please note: version: "2.4" works fine but 3.x not - see https://docs.docker.com/compose/compose-file/
... and the following not (2019-12-21):

If IPv6 addressing is desired, the enable_ipv6 option must be set, and you must use a version 2.x Compose file. IPv6 options do not currently work in swarm mode.



Kubernetes and IPv6

Please see: https://kubernetes.io/docs/concepts/services-networking/dual-stack/

Currently (2019-12) dual-stack is just in alpha version.