-
Clone the repository with submodules:
git clone --recurse-submodules https://github.com/watal/ietf122_hackathon cd ietf122_hackathon/gobgp/cmd/gobgp -
Build GoBGP:
go build . cd ../gobgpd go build .
-
Build the Docker image:
cd ../../../bgp-ls-service-segment docker build . -t ubuntu:watal
-
Deploy the network using [containerlab]:
sudo containerlab deploy -t bgp-ls-service-segment-gobgp-only.clab.yml
-
Enter the GoBGP container:
docker exec -it clab-bgp-ls-service-segment-gobgp-only-gobgp1 bash -
Start the GoBGP daemon:
gobgpd -f config/gobgpd.yml
-
Add a route:
gobgp global rib add -a ls srv6sid bgp identifier 1 local-asn 65001 \ local-bgp-ls-id 10 local-bgp-router-id 10.0.0.1 local-bgp-confederation-member 1 \ sids fc00:0:1::2 multi-topology-id 1 service-type 1 traffic-type 1 \ opaque-type 1 value test
-
Enter the GoBGP container:
docker exec -it clab-bgp-ls-service-segment-gobgp-only-gobgp2 bash -
Start the GoBGP daemon:
gobgpd -f config/gobgpd.yml
-
Display the BGP-LS information:
gobgp global rib -a ls
-
Enter the ExaBGP container:
docker exec -it clab-bgp-ls-service-segment-exabgp bash -
Start ExaBGP in sender mode:
sbin/exabgp ../config/conf-srv6-bgpls-sender.conf
-
Enter the ExaBGP container:
docker exec -it clab-bgp-ls-service-segment-exabgp bash -
Navigate to the ExaBGP directory:
cd exabgp/ -
Start ExaBGP in receiver mode:
sbin/exabgp ../config/conf-srv6-bgpls-receiver.conf
-
To stop ExaBGP, press
Ctrl+C. -
Check the logs to verify:
cat bgpls-receiver.log