{"id":38196500,"url":"https://github.com/nuagenetworks/nuage-libnetwork","last_synced_at":"2026-01-17T00:23:45.746Z","repository":{"id":56368779,"uuid":"76677230","full_name":"nuagenetworks/nuage-libnetwork","owner":"nuagenetworks","description":"Nuage Docker Integration","archived":false,"fork":false,"pushed_at":"2023-06-06T08:46:01.000Z","size":17022,"stargazers_count":10,"open_issues_count":4,"forks_count":10,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-06-19T01:51:24.713Z","etag":null,"topics":["docker","libnetwork","nuage","nuage-plugins"],"latest_commit_sha":null,"homepage":"http://nuagenetworks.net/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuagenetworks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/audit.go","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-16T18:45:33.000Z","updated_at":"2023-06-06T08:46:07.000Z","dependencies_parsed_at":"2024-06-19T01:28:18.510Z","dependency_job_id":"5541aaf4-5bf4-4db0-85a7-ba24d47990f2","html_url":"https://github.com/nuagenetworks/nuage-libnetwork","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/nuagenetworks/nuage-libnetwork","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuagenetworks%2Fnuage-libnetwork","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuagenetworks%2Fnuage-libnetwork/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuagenetworks%2Fnuage-libnetwork/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuagenetworks%2Fnuage-libnetwork/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuagenetworks","download_url":"https://codeload.github.com/nuagenetworks/nuage-libnetwork/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuagenetworks%2Fnuage-libnetwork/sbom","scorecard":{"id":697970,"data":{"date":"2025-08-11","repo":{"name":"github.com/nuagenetworks/nuage-libnetwork","commit":"32e63cc98bf11c70126d03130d00be11bbb461fb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/25 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile.build:1","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/scripts/jenkins/periodic-go-systemd-builder.sh:21","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/scripts/jenkins/periodic-go-systemd-builder.sh:22","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/test:26","Warn: goCommand not pinned by hash: vendor/github.com/coreos/go-systemd/test:27","Warn: goCommand not pinned by hash: vendor/github.com/docker/docker/hack/dockerfile/install-binaries.sh:97","Warn: goCommand not pinned by hash: vendor/github.com/docker/libnetwork/Godeps/_workspace/src/github.com/opencontainers/runc/libcontainer/hack/validate.sh:11","Warn: goCommand not pinned by hash: vendor/github.com/opencontainers/image-spec/.tool/lint:8","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of   7 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-22T04:16:05.579Z","repository_id":56368779,"created_at":"2025-08-22T04:16:05.580Z","updated_at":"2025-08-22T04:16:05.580Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28490051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T23:55:29.509Z","status":"ssl_error","status_checked_at":"2026-01-16T23:55:29.108Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","libnetwork","nuage","nuage-plugins"],"created_at":"2026-01-17T00:23:44.970Z","updated_at":"2026-01-17T00:23:45.713Z","avatar_url":"https://github.com/nuagenetworks.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/nuagenetworks/nuage-libnetwork)](https://goreportcard.com/report/github.com/nuagenetworks/nuage-libnetwork)\n\n.. _docker-20-libnetwork-integration:\n\n.. include:: ../lib/doc-includes/VSDA-icons.inc\n\n\n====================================\nDocker Libnetwork Integration\n====================================\n\n.. contents::\n   :local:\n   :depth: 3\n\n\n..\n.. Date, Version, Author, and Reviewers\n.. =====================================\n..\n.. ========= ======= =======  ==========\n.. Date      Version Author   Reviewers\n.. ========= ======= =======  ==========\n.. \n.. 11/21/16  4.0.R6  Madhu      Siva, Harmeet, Aniket Bhatt PROD-763\n.. 01/10/17  4.0.R7  Madhu      PROD-763 Siva PRs, Harmeet PRs\n\n.. ========= ======= =============================\n\n\nLibNetwork Plugin\n========================\n\nNuage VSP Release 4.0.R6 and later supports Docker with libnetwork. \n\nOverview\n--------\n\nThe Nuage libnetwork plugin allows the user to create new networks of type Nuage. The new networks of type Nuage in Docker are implemented in the backend by a specific subnet in VSP. A specific Docker network needs to reference a specific subnet from VSP. This is done by giving extra Nuage specific parameters to Docker at network creation time. The user interacts with Docker network, which calls libnetwork. The Nuage implemented plugin serves the request coming from the user. \n\nThe libnetwork plugin supports both local and global scope networks. The scope defines if your network is going to propagate to all the nodes as part of your cluster. The simplest use case is for single host networking. This translates to networks that are only visible on the host on which the network is added. This use case is configured with the configuration Scope=\"local\". Multihost networking uses a backend store in order to propagate network information to all the cluster participants. As such, a network added on one node is available on all the nodes. This use case is configured with the configuration Scope=\"global\".\n\nStarting from VSP 4.0.R6.1, libnetwork plugin supports built in IPAM driver where the IP address management is done by VSP.\n\nNuage libnetwork plugin is qualified with Docker Version 1.12.1 and API Version 1.24.\n\nBuilding Nuage LibNetwork Drivers\n-----------------------------------\n- Assumes packages git, golang, rpmbuild are already available on the host and some working knowledge on building go packages.\n- Before proceeding with any of the build steps, clone nuage-libnetwork repo into GO workspace.\nBuilding RPM file\n^^^^^^^^^^^^^^^^^\n- Set the version required for the rpm: export version=`desired rpm version`\n- Update the `desired rpm version` in rpmbuild/nuage-libnetwork.spec file\n- Run ./scripts/buildRPM.sh to generate RPMs under rpmbuild directory on your host\nBuilding Container image\n^^^^^^^^^^^^^^^^^^^^^^^^\n- Set the tag required for container: export version=`desired container tag`\n- Run ./scripts/create-docker-image.sh to generate tar of container under current directory\nBuilding binaries\n^^^^^^^^^^^^^^^^^\n- Run \"go build\" to build the binary in the current directory\n- If compilation is succesful, `nuage-libnetwork` binary will be created in current directory\n\nInstalling Nuage LibNetwork Drivers\n-----------------------------------\n\nNuage LibNetwork plugin can be installed either using a RPM file or using a Docker image.\n\nInstallation Using RPM file\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n:Step 1:  Start the Docker daemon as a service. If the plugin is to be run in \"local\" scope, then Docker service can be started on each host without any extra options. In order to run the plugin with \"global\" scope, docker-engines on multiple servers need to be started with a backend-store. Following commands show the commands to start Docker daemon as a service with consul.\n\n    ::\n       a. Create a docker service directory as follows:\n       [root@server1:~]# mkdir /etc/systemd/system/docker.service.d/\n       \n       b. Then add the docker conf file \n       [root@server1:~]# cat /etc/systemd/system/docker.service.d/docker.conf\n       [Service]\n       ExecStart=\n       ExecStart=/usr/bin/dockerd -D --cluster-store=consul://$CONSULSERVER:8500 --cluster-advertise=$server2:2376\n       \n       c. Create the docker socket file as follows:\n       [root@server2:~]# cat /usr/lib/systemd/system/docker.socket\n       [Unit]\n       Description=Docker Socket for the API\n       PartOf=docker.service\n       [Socket]\n       ListenStream=/var/run/docker.sock\n       SocketMode=0660\n       SocketUser=root\n       SocketGroup=docker\n        \n       [Install]\n       WantedBy=sockets.target\n       \n       d. Restart the docker service after creating the the above files using the command - service docker restart\n\n:Step 2:  Install the Nuage libnetwork rpm using the following command. This installs nuage-libnetwork binary and the required configuration file templates.\n\n    ::\n    \n       [root@server1:~]# yum localinstall -y nuage-libnetwork-0-0-1.x86_64.rpm\n       \n    Once the rpm is installed, you can verify that the Nuage IPAM and plugin are running in the background using following command.\n    \n    ::\n    \n       [root@server1:~]# systemctl status nuage-libnetwork\n         nuage-libnetwork.service - Nuage libnetwork plugin for docker\n         Loaded: loaded (/etc/systemd/system/nuage-libnetwork.service; enabled; vendor preset: disabled)\n         Active: active (running) since Tue 2017-01-10 17:55:16 UTC; 3h 22min ago\n         Main PID: 1516 (libnetwork-nuag)\n         CGroup: /system.slice/nuage-libnetwork.service\n             1516 /usr/bin/nuage-libnetwork -config /etc/default/nuage-libnetwork.yaml\n\n:Step 3: Configure the plugin parameters inside the YAML configuration file. \"loglevel\" can be \"Info\", \"Debug\", \"Warn\" or \"Error\" and \"scope\" can be \"local\" or \"global\". 'username', 'password' and 'organization' must be base64 encoded values of their string values. Values shown below are default values that are used if there are no specified values. Place the YAML configuration file under ``/etc/default/nuage-libnetwork.yaml`` on each host where Nuage plugin is run. A sample YAML configuration file for plugin input parameters looks like the following:\n    \n  ::\n  \n      [root@server1 ~]# cat /etc/default/nuage-libnetwork.yaml \n      vrssocketfile:    \"/var/run/openvswitch/db.sock\"\n      dockersocketfile: \"unix:///var/run/docker.sock\"\n      vrsbridge:      \"alubr0\"\n      loglevel:       \"Debug\"\n      logfilesize:    10\n      scope:          \"global\"\n      numofretries:   5\n      timeinterval:   100\n      username: Y3Nwcm9vdA==\n      password: Y3Nwcm9vdA==\n      organization: Y3Nw\n      url: https://\u003cVSD URL\u003e:8443 \n\n:Step 4: Start the plugin on each host on which it has to run using the following command.\n\n    ::\n    \n       systemctl start nuage-libnetwork\n\nInstallation using Docker Image\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n:Step 1: Start the docker daemon. If the plugin is to be run in \"local\" scope, then docker daemon can be started on each host without any extra options. In order to run the plugin with \"global\" scope, docker-engines on multiple servers need to be started with a backend-store. Following commands show the commands to start docker daemon with consul.\n\n   ::\n      \n      [root@server1:~]# docker daemon --cluster-store=consul://$CONSULSERVER:8500 --cluster-advertise=$server1:2376\n      [root@server2:~]# docker daemon --cluster-store=consul://$CONSULSERVER:8500 --cluster-advertise=$server2:2376\n\n:Step 2: Load the containerized plugin into docker images. This can be acheived with the help of following command.\n\n   ::\n   \n      [root@server1:~]# docker load -i nuage-plugin.tar\n   \n      Loaded image can be listed using ``docker images`` command\n\n      [root@server1:~]# docker images\n      REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE\n      nuage-plugin        4.0R6               18dea274c251        6 hours ago         219.9 MB\n      busybox             latest              e02e811dd08f        5 weeks ago         1.093 MB\n      golang              latest              47734a1408b7        7 weeks ago         672.4 MB\n\n:Step 3: Configure the plugin parameters inside the YAML configuration file. \"loglevel\" can be \"Info\", \"Debug\", \"Warn\" or \"Error\" and \"scope\" can be \"local\" or \"global\". 'username', 'password' and 'organization' must be base64 encoded values of their string values. Values shown below are default values that are used if there are no specified values. Place the YAML configuration file under ``/etc/default/nuage-libnetwork.yaml`` on each host where Nuage plugin is run. A sample YAML configuration file for plugin input parameters looks like the following:\n\n   ::\n   \n      [root@server1 ~]# cat /etc/default/nuage-libnetwork.yaml\n      vrsendpoint:    \"/var/run/openvswitch/db.sock\"\n      dockerdndpoint: \"unix:///var/run/docker.sock\"\n      vrsbridge:      \"alubr0\"\n      loglevel:       \"Warn\"\n      scope:          \"global\"\n      numofretries:   5\n      timeinterval:   100\n      username: Y3Nwcm9vdA==\n      password: Y3Nwcm9vdA==\n      organization: Y3Nw\n      url: https://127.0.0.1:8443\n\n:Step 4: Start the Nuage Libnetwork plugin. Start the plugin on each host on which it has to run using the following command.\n\n   ::\n\n      docker run -v /usr/bin/:/usr/bin/ -v /usr/lib64/:/usr/lib64 -v /var/run:/var/run -v /var/log:/var/log -v /etc/default:/etc/default --net=host --privileged -dt nuage-plugin:4.0R7\n\nInstallation using binary\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\n:Step 1: Start the docker daemon. If the plugin is to be run in \"local\" scope, then docker daemon can be started on each host without any extra options. In order to run the plugin with \"global\" scope, docker-engines on multiple servers need to be started with a backend-store. Following commands show the commands to start docker daemon with consul.\n\n   ::\n\n      [root@server1:~]# docker daemon --cluster-store=consul://$CONSULSERVER:8500 --cluster-advertise=$server1:2376\n      [root@server2:~]# docker daemon --cluster-store=consul://$CONSULSERVER:8500 --cluster-advertise=$server2:2376\n\n:Step 2: Configure the plugin parameters inside the YAML configuration file. \"loglevel\" can be \"Info\", \"Debug\", \"Warn\" or \"Error\" and \"scope\" can be \"local\" or \"global\". 'username', 'password' and 'organization' must be base64 encoded values of their string values. Values shown below are default values that are used if there are no specified values. A sample YAML configuration file for plugin input parameters looks like the following:\n\n   ::\n\n      [root@server1 ~]# cat /tmp/nuage-libnetwork.yaml\n      vrsendpoint:    \"/var/run/openvswitch/db.sock\"\n      dockerdndpoint: \"unix:///var/run/docker.sock\"\n      vrsbridge:      \"alubr0\"\n      loglevel:       \"Warn\"\n      scope:          \"global\"\n      numofretries:   5\n      timeinterval:   100\n      username: Y3Nwcm9vdA==\n      password: Y3Nwcm9vdA==\n      organization: Y3Nw\n      url: https://127.0.0.1:8443\n\n:Step 4: Start the Nuage Libnetwork plugin. Start the plugin on each host on which it has to run using the following command.\n\n   ::\n\n      $NUAGE_LIBNETWORK_REPO/nuage-libnetwork -config /tmp/nuage-libnetwork.yaml \u0026\n\nNotes\n^^^^^\n\n    ::\n    \n       Plugin needs a restart whenever the input configuration changes\n\n\nConfiguring Single Host Networking\n-------------------------------------\n\nAfter starting the Nuage plugin in \"local\" scope, Docker API is used to create a network:\n\n::\n\n   root@ubuntu:~# docker network create --driver=nuage --ipam-driver=nuage-ipam --ipam-opt organization=Enterprise --ipam-opt domain=Domain --ipam-opt zone=Zone --ipam-opt subnet=\"Subnet 2\" --ipam-opt user=admin --subnet=10.21.59.0/24  --gateway=10.21.59.1 MyNet\n\nto link to a L3Domain in Nuage, the following parameters are required: enterprise, user, domain, zone, subnet. Furthermore, the CIDR and IPAM information must be exactly the same as in Nuage.\n\nOnce the network is created, it can be seen and inspected:\n\n::\n\n   root@ubuntu:~# docker network ls\n   NETWORK ID          NAME                DRIVER\n   e793da0854ce        MyNet               nuage               \n   4d7098beb610        bridge              bridge              \n   cf0626f73c7c        docker_gwbridge     bridge              \n   b8878a9f9d58        host                host                \n   967ad3ccb5af        none                null  \n\n::\n\n   root@ubuntu:~# docker network inspect MyNet\n   [\n      {\n           \"Name\": \"MyNet\",\n            \"Id\": \"8f8127c363669e8b2c07c5025386a574cbab23a194267bdc6b8d5e54658a8985\",\n            \"Scope\": \"global\",\n            \"Driver\": \"nuage\",\n           \"EnableIPv6\": false,\n           \"IPAM\": {\n               \"Driver\": \"nuage-ipam\",\n               \"Options\": {\n                  \"domain\": \"Domain\",\n                  \"organization\": \"Enterprise\",\n                  \"subnet\": \"Subnet 2\",\n                  \"user\": \"admin\",\n                  \"zone\": \"Zone\"\n               },\n               \"Config\": [\n                   {\n                       \"Subnet\": \"10.21.59.0/24\"\n                       \"Gateway\": \"10.21.59.1\"\n                   }\n               ]\n           },\n           \"Internal\": false,\n           \"Containers\": {\n               \"524fbb401c8c6f760e1e66f8be42f603e258c5c7a3807a7f66afa0a1b760295f\": {\n                   \"Name\": \"tender_goldstine\",\n                   \"EndpointID\": \"2b4fb640e6299ae5e00f7cbebebbef112490813cb57cd05a2e9fde5316208076\",\n                   \"MacAddress\": \"7a:42:d6:aa:d0:11\",\n                   \"IPv4Address\": \"10.21.59.2/24\",\n                   \"IPv6Address\": \"\"\n               },\n               \"ep-20b306d0998b227289a86ee4b6a69b4171d3dca666b1fe78cdcf5df4c1f86b89\": {\n                   \"Name\": \"thirsty_bassi\",\n                   \"EndpointID\": \"20b306d0998b227289a86ee4b6a69b4171d3dca666b1fe78cdcf5df4c1f86b89\",\n                   \"MacAddress\": \"7a:42:8d:fa:16:f3\",\n                   \"IPv4Address\": \"10.21.59.3/24\",\n                   \"IPv6Address\": \"\"\n               }\n           },\n           \"Options\": {},\n           \"Labels\": {}\n      }\n   ]\n\nTo start a Container with access to that network, the network name needs to be referenced during Container definition:\n\n::\n\n   docker run -it --net MyNet nginx /bin/bash\n\nThis will trigger the creation of a vPort on Nuage and the vPort should be visible and fully manageable from VSP API. In this use case, the Network is only visible on this specific server. Reachability can be extended by \"creating\" that same network on multiple nodes.\n\nConfiguring Multi-Host Networking\n------------------------------------\n\nMultihost networking can be used when the Nuage plugin is running in \"global\" scope. In this mode, docker networks created on a host would be accessible on other hosts that are part of same cluster. Create a docker network on server1 with the following command:\n\n::\n\n   root@server1~# docker network create --driver=nuage --ipam-driver=nuage-ipam --ipam-opt organization=Enterprise --ipam-opt domain=Domain --ipam-opt zone=Zone --ipam-opt subnet=\"Subnet 2\" --ipam-opt user=admin --subnet=10.21.59.0/24  --gateway=10.21.59.1 MyNet\n\nThat network is now available and ready for consumption on server2:\n\n::\n\n   [root@server2:~#] docker network ls\n   NETWORK ID          NAME                DRIVER\n   e793da0854ce        MyNet               nuage               \n   4d7098beb610        bridge              bridge              \n   cf0626f73c7c        docker_gwbridge     bridge              \n   b8878a9f9d58        host                host                \n   967ad3ccb5af        none                null  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuagenetworks%2Fnuage-libnetwork","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuagenetworks%2Fnuage-libnetwork","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuagenetworks%2Fnuage-libnetwork/lists"}