Difference between revisions of "VPP/Pure L3 Container Networking"
From fd.io
< VPP
Gilesheron (Talk | contribs) |
Gilesheron (Talk | contribs) |
||
Line 11: | Line 11: | ||
On each host: | On each host: | ||
− | sudo docker create -e MICROSERVICE_LABEL=vpp -it --privileged -v "/tmp/vpp_socket:/tmp" -p 5001:5002 -p 9191:9191 --name vpp --network=host contivvpp/vswitch | + | <code>sudo docker create -e MICROSERVICE_LABEL=vpp -it --privileged -v "/tmp/vpp_socket:/tmp" -p 5001:5002 -p 9191:9191 --name vpp --network=host contivvpp/vswitch</code> |
create file vpp.conf as follows: | create file vpp.conf as follows: | ||
+ | <code> | ||
unix { | unix { | ||
− | nodaemon | + | :nodaemon |
− | cli-listen 0.0.0.0:5002 | + | :cli-listen 0.0.0.0:5002 |
− | cli-no-pager | + | :cli-no-pager |
} | } | ||
dpdk { | dpdk { | ||
− | dev 0000:09:00.0 # replace this with an Ethernet interface on your host | + | :dev 0000:09:00.0 # replace this with an Ethernet interface on your host |
− | uio-driver igb_uio | + | :uio-driver igb_uio |
} | } | ||
− | + | </code> | |
− | + | ||
+ | then: | ||
+ | |||
+ | <code> | ||
+ | sudo docker cp vpp.conf vpp:/etc/vpp/vpp.conf | ||
+ | <br /> | ||
sudo docker create -it --name client ubuntu | sudo docker create -it --name client ubuntu | ||
+ | </code> | ||
(for the server host change the name to "server") | (for the server host change the name to "server") |
Revision as of 15:29, 25 October 2017
This example shows how to configure VPP as an IPv4 router interconnecting containers across multiple hosts.
VPP itself runs in the root namespace, with a separate namespace for each container.
Setup
The 2 hosts are interconnected by a router. The router has /24 routes for the client subnets - pointed at the appropriate vSwitch interfaces.
On each host:
sudo docker create -e MICROSERVICE_LABEL=vpp -it --privileged -v "/tmp/vpp_socket:/tmp" -p 5001:5002 -p 9191:9191 --name vpp --network=host contivvpp/vswitch
create file vpp.conf as follows:
unix {
- nodaemon
- cli-listen 0.0.0.0:5002
- cli-no-pager
}
dpdk {
- dev 0000:09:00.0 # replace this with an Ethernet interface on your host
- uio-driver igb_uio
}
then:
sudo docker cp vpp.conf vpp:/etc/vpp/vpp.conf
sudo docker create -it --name client ubuntu
(for the server host change the name to "server")