Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.
/ vpp Public archive

Simple standalone Docker Plugin implementation to demonstrate Clear Containers with VPP.

License

Notifications You must be signed in to change notification settings

clearcontainers/vpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

cc_vpp

This is simple standalone Docker Plugin implementation to demonstrate Clear Containers with VPP.

For more details about Clear Containers https://github.com/01org/cc-oci-runtime https://clearlinux.org/clear-containers

For more information about VPP https://wiki.fd.io/view/VPP

The docker plugin is used to create the VPP vhost-user interface which is attached to the clear container. Example below assumes you are using a Clear Container which has VPP enabling. This can be found at https://github.com/01org/cc-oci-runtime/tree/networking/vhost-user-poc

How to use this plugin

  1. Build this plugin.

     go build
    
  2. Ensure that your plugin is discoverable https://docs.docker.com/engine/extend/plugin_api/#/plugin-discovery

     sudo cp vpp.json /etc/docker/plugins/
    
  3. Start the plugin

     sudo ./vpp &
    

    Note: Enable password less sudo to ensure the plugin will run in the background without prompting.

  4. Try VPP with Clear Containers

     #Cleanup any old VPP interfaces
     sudo service vpp stop
     sudo service vpp start
    
     #Create the VPP container network using the custom VPP docker driver
     sudo docker network create -d=vpp --ipam-driver=vpp --subnet=192.168.1.0/24 --gateway=192.168.1.1 vpp_net
    
     #Create docker containers, testing their connecivity over L2-bridge:
     sudo docker run --net=vpp_net --ip=192.168.1.2 --mac-address=CA:FE:CA:FE:01:02 --name "hasvpp1" -itd debian bash
     sudo docker run --net=vpp_net --ip=192.168.1.3 --mac-address=CA:FE:CA:FE:01:03 --name "hasvpp2" -it debian bash -c "ip a; ip route; ping 192.168.1.2"
    
     #Cleanup
     sudo docker kill `sudo docker ps --no-trunc -aq` ; sudo docker rm `sudo docker ps --no-trunc -aq`
     sudo docker network rm vpp_net
     sudo service vpp stop
     sudo service vpp start
    

About

Simple standalone Docker Plugin implementation to demonstrate Clear Containers with VPP.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages