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.

  • No labels