Format markdown
This commit is contained in:
		
							
								
								
									
										38
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,23 +1,27 @@ | |||||||
| # VPP Containerlab Docker image | # VPP Containerlab Docker image | ||||||
|  |  | ||||||
| This docker container creates a VPP instance based on the latest release. | This docker container creates a VPP instance based on the latest release.  It starts up as per | ||||||
| It starts up as per normal, using /etc/vpp/startup.conf (which Containerlab | normal, using /etc/vpp/startup.conf (which Containerlab will replace), and once started, it'll | ||||||
| will replace), and once started, it'll execute /etc/vpp/bootstrap.vpp within | execute /etc/vpp/bootstrap.vpp within the dataplane. There are three relevant files: | ||||||
| the dataplane. There are three relevant files: |  | ||||||
|  |  | ||||||
| 1.   manual-pre.vpp -- can be supplied by the user, to run any configuration | 1.   `manual-pre.vpp` -- can be supplied by the user, to run any configuration statements before | ||||||
|      statements before containerlab takes control. |      containerlab takes control. | ||||||
| 1.   clab.vpp -- generated by containerlab. It will bind the vethpair interfaces |  | ||||||
|      into the dataplane. | 1.   `clab.vpp` -- generated by containerlab. Its purpose is to bind the `vethpair` interfaces | ||||||
| 1.   manual-post.vpp -- can be supplied by the user, to run any configuration |      into theo dataplane (see below). | ||||||
|      statements after containerlab is finished with its per-lab statements. |  | ||||||
|  | 1.   `manual-post.vpp` -- can be supplied by the user, to run any configuration statements after | ||||||
|  |      containerlab is finished with its per-lab statements. | ||||||
|  |  | ||||||
| ## Building | ## Building | ||||||
|  |  | ||||||
|  | ```bash | ||||||
| docker build -f Dockerfile.bookworm . -t pimvanpelt/vpp-containerlab | docker build -f Dockerfile.bookworm . -t pimvanpelt/vpp-containerlab | ||||||
|  | ``` | ||||||
|  |  | ||||||
| ## Starting the container | ## Starting the container | ||||||
|  |  | ||||||
|  | ``` | ||||||
| docker network create --driver=bridge network2 --subnet=172.19.1.0/24 | docker network create --driver=bridge network2 --subnet=172.19.1.0/24 | ||||||
| docker rm clab-pim  | docker rm clab-pim  | ||||||
| docker run --cap-add=NET_ADMIN --cap-add=SYS_NICE --cap-add=SYS_PTRACE \ | docker run --cap-add=NET_ADMIN --cap-add=SYS_NICE --cap-add=SYS_PTRACE \ | ||||||
| @@ -26,21 +30,21 @@ docker run --cap-add=NET_ADMIN --cap-add=SYS_NICE --cap-add=SYS_PTRACE \ | |||||||
|            --privileged=True --name clab-pim \ |            --privileged=True --name clab-pim \ | ||||||
|            docker.io/pimvanpelt/vpp-containerlab |            docker.io/pimvanpelt/vpp-containerlab | ||||||
| docker network connect network2 clab-pim | docker network connect network2 clab-pim | ||||||
|  | ``` | ||||||
|  |  | ||||||
| ## Configuring VPP | ## Configuring VPP | ||||||
|  |  | ||||||
|  | ``` | ||||||
| docker exec -it clab-pim vppctl | docker exec -it clab-pim vppctl | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | and then within the VPP control shell: | ||||||
|  |  | ||||||
|  | ``` | ||||||
| vpp-clab# create host-interface v2 name eth1 | vpp-clab# create host-interface v2 name eth1 | ||||||
| vpp-clab# set interface name host-eth1 eth1 | vpp-clab# set interface name host-eth1 eth1 | ||||||
| vpp-clab# set interface mtu 1500 eth1 | vpp-clab# set interface mtu 1500 eth1 | ||||||
| vpp-clab# set interface ip address eth1 172.19.1.2/24 | vpp-clab# set interface ip address eth1 172.19.1.2/24 | ||||||
| vpp-clab# set interface ip address eth1 fec0::2/64 | vpp-clab# set interface ip address eth1 fec0::2/64 | ||||||
| vpp-clab# set interface state eth1 up | vpp-clab# set interface state eth1 up | ||||||
|  | ``` | ||||||
| ## References |  | ||||||
|  |  | ||||||
| https://s3-docs.fd.io/vpp/22.02/usecases/vpp_testbench/index.html |  | ||||||
| https://git.ipng.ch/ipng/drone-hugo |  | ||||||
| https://github.com/ligato/vpp-base/tree/master |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user